<!DOCTYPE html> <html lang=zh-CN dir=ltr class=dark style><!--
 Page saved with SingleFile 
 url: https://mermaid.nodejs.cn/syntax/classDiagram.html 
 saved date: Thu Mar 20 2025 18:31:50 GMT+0800 (中国标准时间)
--><meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1">
<title>类图 | Mermaid 中文网</title>
<meta name=description content=使用文本和代码创建图表和可视化。>
<meta name=generator content="VitePress v1.6.3">
<style>@font-face{font-family:Inter;font-style:normal;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white:#ffffff;--vp-c-black:#000000;--vp-c-neutral:var(--vp-c-black);--vp-c-neutral-inverse:var(--vp-c-white)}.dark{--vp-c-neutral:var(--vp-c-white);--vp-c-neutral-inverse:var(--vp-c-black)}:root{--vp-c-gray-1:#dddde3;--vp-c-gray-2:#e4e4e9;--vp-c-gray-3:#ebebef;--vp-c-gray-soft:rgba(142,150,170,.14);--vp-c-indigo-1:#3451b2;--vp-c-indigo-2:#3a5ccc;--vp-c-indigo-3:#5672cd;--vp-c-indigo-soft:rgba(100,108,255,.14);--vp-c-purple-1:#6f42c1;--vp-c-purple-2:#7e4cc9;--vp-c-purple-3:#8e5cd9;--vp-c-purple-soft:rgba(159,122,234,.14);--vp-c-green-1:#18794e;--vp-c-green-2:#299764;--vp-c-green-3:#30a46c;--vp-c-green-soft:rgba(16,185,129,.14);--vp-c-yellow-1:#915930;--vp-c-yellow-2:#946300;--vp-c-yellow-3:#9f6a00;--vp-c-yellow-soft:rgba(234,179,8,.14);--vp-c-red-1:#b8272c;--vp-c-red-2:#d5393e;--vp-c-red-3:#e0575b;--vp-c-red-soft:rgba(244,63,94,.14);--vp-c-sponsor:#db2777}.dark{--vp-c-gray-1:#515c67;--vp-c-gray-2:#414853;--vp-c-gray-3:#32363f;--vp-c-gray-soft:rgba(101,117,133,.16);--vp-c-indigo-1:#a8b1ff;--vp-c-indigo-2:#5c73e7;--vp-c-indigo-3:#3e63dd;--vp-c-indigo-soft:rgba(100,108,255,.16);--vp-c-purple-1:#c8abfa;--vp-c-purple-2:#a879e6;--vp-c-purple-3:#8e5cd9;--vp-c-purple-soft:rgba(159,122,234,.16);--vp-c-green-1:#3dd68c;--vp-c-green-2:#30a46c;--vp-c-green-3:#298459;--vp-c-green-soft:rgba(16,185,129,.16);--vp-c-yellow-1:#f9b44e;--vp-c-yellow-2:#da8b17;--vp-c-yellow-3:#a46a0a;--vp-c-yellow-soft:rgba(234,179,8,.16);--vp-c-red-1:#f66f81;--vp-c-red-2:#f14158;--vp-c-red-3:#b62a3c;--vp-c-red-soft:rgba(244,63,94,.16)}:root{--vp-c-bg:#ffffff;--vp-c-bg-alt:#f6f6f7;--vp-c-bg-elv:#ffffff;--vp-c-bg-soft:#f6f6f7}.dark{--vp-c-bg:#1b1b1f;--vp-c-bg-alt:#161618;--vp-c-bg-elv:#202127;--vp-c-bg-soft:#202127}:root{--vp-c-border:#c2c2c4;--vp-c-divider:#e2e2e3;--vp-c-gutter:#e2e2e3}.dark{--vp-c-border:#3c3f44;--vp-c-divider:#2e2e32;--vp-c-gutter:#000000}:root{--vp-c-text-1:#3c3c43;--vp-c-text-2:#67676c;--vp-c-text-3:#929295}.dark{--vp-c-text-1:#dfdfd6;--vp-c-text-2:#98989f;--vp-c-text-3:#6a6a71}:root{--vp-c-default-1:var(--vp-c-gray-1);--vp-c-default-2:var(--vp-c-gray-2);--vp-c-default-3:var(--vp-c-gray-3);--vp-c-default-soft:var(--vp-c-gray-soft);--vp-c-brand-1:var(--vp-c-indigo-1);--vp-c-brand-2:var(--vp-c-indigo-2);--vp-c-brand-3:var(--vp-c-indigo-3);--vp-c-brand-soft:var(--vp-c-indigo-soft);--vp-c-brand:var(--vp-c-brand-1);--vp-c-tip-1:var(--vp-c-brand-1);--vp-c-tip-2:var(--vp-c-brand-2);--vp-c-tip-3:var(--vp-c-brand-3);--vp-c-tip-soft:var(--vp-c-brand-soft);--vp-c-note-1:var(--vp-c-brand-1);--vp-c-note-2:var(--vp-c-brand-2);--vp-c-note-3:var(--vp-c-brand-3);--vp-c-note-soft:var(--vp-c-brand-soft);--vp-c-success-1:var(--vp-c-green-1);--vp-c-success-2:var(--vp-c-green-2);--vp-c-success-3:var(--vp-c-green-3);--vp-c-success-soft:var(--vp-c-green-soft);--vp-c-important-1:var(--vp-c-purple-1);--vp-c-important-2:var(--vp-c-purple-2);--vp-c-important-3:var(--vp-c-purple-3);--vp-c-important-soft:var(--vp-c-purple-soft);--vp-c-warning-1:var(--vp-c-yellow-1);--vp-c-warning-2:var(--vp-c-yellow-2);--vp-c-warning-3:var(--vp-c-yellow-3);--vp-c-warning-soft:var(--vp-c-yellow-soft);--vp-c-danger-1:var(--vp-c-red-1);--vp-c-danger-2:var(--vp-c-red-2);--vp-c-danger-3:var(--vp-c-red-3);--vp-c-danger-soft:var(--vp-c-red-soft);--vp-c-caution-1:var(--vp-c-red-1);--vp-c-caution-2:var(--vp-c-red-2);--vp-c-caution-3:var(--vp-c-red-3);--vp-c-caution-soft:var(--vp-c-red-soft)}:root{--vp-font-family-base:"Inter",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--vp-font-family-mono:ui-monospace,"Menlo","Monaco","Consolas","Liberation Mono","Courier New",monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base:"Punctuation SC","Inter",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}:root{--vp-shadow-1:0 1px 2px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.06);--vp-shadow-2:0 3px 12px rgba(0,0,0,.07),0 1px 4px rgba(0,0,0,.07);--vp-shadow-3:0 12px 32px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.08);--vp-shadow-4:0 14px 44px rgba(0,0,0,.12),0 3px 9px rgba(0,0,0,.12);--vp-shadow-5:0 18px 56px rgba(0,0,0,.16),0 4px 12px rgba(0,0,0,.16)}:root{--vp-z-index-footer:10;--vp-z-index-local-nav:20;--vp-z-index-nav:30;--vp-z-index-layout-top:40;--vp-z-index-backdrop:50;--vp-z-index-sidebar:60}@media (min-width:960px){:root{--vp-z-index-sidebar:25}}:root{--vp-layout-max-width:1440px}:root{--vp-header-anchor-symbol:"#"}:root{--vp-code-line-height:1.7;--vp-code-font-size:.875em;--vp-code-color:var(--vp-c-brand-1);--vp-code-link-color:var(--vp-c-brand-1);--vp-code-link-hover-color:var(--vp-c-brand-2);--vp-code-bg:var(--vp-c-default-soft);--vp-code-block-color:var(--vp-c-text-2);--vp-code-block-bg:var(--vp-c-bg-alt);--vp-code-block-divider-color:var(--vp-c-gutter);--vp-code-lang-color:var(--vp-c-text-3);--vp-code-line-highlight-color:var(--vp-c-default-soft);--vp-code-line-number-color:var(--vp-c-text-3);--vp-code-line-diff-add-color:var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color:var(--vp-c-success-1);--vp-code-line-diff-remove-color:var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color:var(--vp-c-danger-1);--vp-code-line-warning-color:var(--vp-c-warning-soft);--vp-code-line-error-color:var(--vp-c-danger-soft);--vp-code-copy-code-border-color:var(--vp-c-divider);--vp-code-copy-code-bg:var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color:var(--vp-c-divider);--vp-code-copy-code-hover-bg:var(--vp-c-bg);--vp-code-copy-code-active-text:var(--vp-c-text-2);--vp-code-copy-copied-text-content:"Copied";--vp-code-tab-divider:var(--vp-code-block-divider-color);--vp-code-tab-text-color:var(--vp-c-text-2);--vp-code-tab-bg:var(--vp-code-block-bg);--vp-code-tab-hover-text-color:var(--vp-c-text-1);--vp-code-tab-active-text-color:var(--vp-c-text-1);--vp-code-tab-active-bar-color:var(--vp-c-brand-1)}:lang(es),:lang(pt){--vp-code-copy-copied-text-content:"Copiado"}:lang(fa){--vp-code-copy-copied-text-content:"کپی شد"}:lang(ko){--vp-code-copy-copied-text-content:"복사됨"}:lang(ru){--vp-code-copy-copied-text-content:"Скопировано"}:lang(zh){--vp-code-copy-copied-text-content:"已复制"}:root{--vp-button-brand-border:transparent;--vp-button-brand-text:var(--vp-c-white);--vp-button-brand-bg:var(--vp-c-brand-3);--vp-button-brand-hover-border:transparent;--vp-button-brand-hover-text:var(--vp-c-white);--vp-button-brand-hover-bg:var(--vp-c-brand-2);--vp-button-brand-active-border:transparent;--vp-button-brand-active-text:var(--vp-c-white);--vp-button-brand-active-bg:var(--vp-c-brand-1);--vp-button-alt-border:transparent;--vp-button-alt-text:var(--vp-c-text-1);--vp-button-alt-bg:var(--vp-c-default-3);--vp-button-alt-hover-border:transparent;--vp-button-alt-hover-text:var(--vp-c-text-1);--vp-button-alt-hover-bg:var(--vp-c-default-2);--vp-button-alt-active-border:transparent;--vp-button-alt-active-text:var(--vp-c-text-1);--vp-button-alt-active-bg:var(--vp-c-default-1);--vp-button-sponsor-border:var(--vp-c-text-2);--vp-button-sponsor-text:var(--vp-c-text-2);--vp-button-sponsor-bg:transparent;--vp-button-sponsor-hover-border:var(--vp-c-sponsor);--vp-button-sponsor-hover-text:var(--vp-c-sponsor);--vp-button-sponsor-hover-bg:transparent;--vp-button-sponsor-active-border:var(--vp-c-sponsor);--vp-button-sponsor-active-text:var(--vp-c-sponsor);--vp-button-sponsor-active-bg:transparent}:root{--vp-custom-block-font-size:14px;--vp-custom-block-code-font-size:13px;--vp-custom-block-info-border:transparent;--vp-custom-block-info-text:var(--vp-c-text-1);--vp-custom-block-info-bg:var(--vp-c-default-soft);--vp-custom-block-info-code-bg:var(--vp-c-default-soft);--vp-custom-block-note-border:transparent;--vp-custom-block-note-text:var(--vp-c-text-1);--vp-custom-block-note-bg:var(--vp-c-default-soft);--vp-custom-block-note-code-bg:var(--vp-c-default-soft);--vp-custom-block-tip-border:transparent;--vp-custom-block-tip-text:var(--vp-c-text-1);--vp-custom-block-tip-bg:var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg:var(--vp-c-tip-soft);--vp-custom-block-important-border:transparent;--vp-custom-block-important-text:var(--vp-c-text-1);--vp-custom-block-important-bg:var(--vp-c-important-soft);--vp-custom-block-important-code-bg:var(--vp-c-important-soft);--vp-custom-block-warning-border:transparent;--vp-custom-block-warning-text:var(--vp-c-text-1);--vp-custom-block-warning-bg:var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg:var(--vp-c-warning-soft);--vp-custom-block-danger-border:transparent;--vp-custom-block-danger-text:var(--vp-c-text-1);--vp-custom-block-danger-bg:var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg:var(--vp-c-danger-soft);--vp-custom-block-caution-border:transparent;--vp-custom-block-caution-text:var(--vp-c-text-1);--vp-custom-block-caution-bg:var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg:var(--vp-c-caution-soft);--vp-custom-block-details-border:var(--vp-custom-block-info-border);--vp-custom-block-details-text:var(--vp-custom-block-info-text);--vp-custom-block-details-bg:var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg:var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color:var(--vp-c-border);--vp-input-bg-color:var(--vp-c-bg-alt);--vp-input-switch-bg-color:var(--vp-c-default-soft)}:root{--vp-nav-height:64px;--vp-nav-bg-color:var(--vp-c-bg);--vp-nav-screen-bg-color:var(--vp-c-bg);--vp-nav-logo-height:24px}:root{--vp-local-nav-bg-color:var(--vp-c-bg)}:root{--vp-sidebar-width:272px;--vp-sidebar-bg-color:var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color:rgba(0,0,0,.6)}:root{--vp-home-hero-name-color:var(--vp-c-brand-1);--vp-home-hero-name-background:transparent;--vp-home-hero-image-background-image:none;--vp-home-hero-image-filter:none}:root{--vp-badge-info-border:transparent;--vp-badge-info-text:var(--vp-c-text-2);--vp-badge-info-bg:var(--vp-c-default-soft);--vp-badge-tip-border:transparent;--vp-badge-tip-text:var(--vp-c-tip-1);--vp-badge-tip-bg:var(--vp-c-tip-soft);--vp-badge-warning-border:transparent;--vp-badge-warning-text:var(--vp-c-warning-1);--vp-badge-warning-bg:var(--vp-c-warning-soft);--vp-badge-danger-border:transparent;--vp-badge-danger-text:var(--vp-c-danger-1);--vp-badge-danger-bg:var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color:var(--vp-c-text-1);--vp-carbon-ads-poweredby-color:var(--vp-c-text-2);--vp-carbon-ads-bg-color:var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color:var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color:var(--vp-c-text-1)}:root{--vp-local-search-bg:var(--vp-c-bg);--vp-local-search-result-bg:var(--vp-c-bg);--vp-local-search-result-border:var(--vp-c-divider);--vp-local-search-result-selected-bg:var(--vp-c-bg);--vp-local-search-result-selected-border:var(--vp-c-brand-1);--vp-local-search-highlight-bg:var(--vp-c-brand-1);--vp-local-search-highlight-text:var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h5{margin:0;line-height:24px;font-size:16px}p{margin:0}a,button,[role=button]{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ul{list-style:none;margin:0;padding:0}pre,code{font-family:var(--vp-font-family-mono)}svg{display:block}button{border:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}h1,h2,h3,h4,h5,li,p{overflow-wrap:break-word}[class^=vpi-]{width:1em;height:1em}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-chevron-right{--icon:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ fill=\'none\'\ stroke=\'currentColor\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'\ stroke-width=\'2\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Cpath\ d=\'m9\ 18\ 6-6-6-6\'/%3E%3C/svg%3E)}.vpi-sun{--icon:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ fill=\'none\'\ stroke=\'currentColor\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'\ stroke-width=\'2\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Ccircle\ cx=\'12\'\ cy=\'12\'\ r=\'4\'/%3E%3Cpath\ d=\'M12\ 2v2M12\ 20v2M4.93\ 4.93l1.41\ 1.41M17.66\ 17.66l1.41\ 1.41M2\ 12h2M20\ 12h2M6.34\ 17.66l-1.41\ 1.41M19.07\ 4.93l-1.41\ 1.41\'/%3E%3C/svg%3E)}.vpi-moon{--icon:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ fill=\'none\'\ stroke=\'currentColor\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'\ stroke-width=\'2\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Cpath\ d=\'M12\ 3a6\ 6\ 0\ 0\ 0\ 9\ 9\ 9\ 9\ 0\ 1\ 1-9-9Z\'/%3E%3C/svg%3E)}:root{--vp-icon-copy:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ fill=\'none\'\ stroke=\'rgba\(128,128,128,1\)\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'\ stroke-width=\'2\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Crect\ width=\'8\'\ height=\'4\'\ x=\'8\'\ y=\'2\'\ rx=\'1\'\ ry=\'1\'/%3E%3Cpath\ d=\'M16\ 4h2a2\ 2\ 0\ 0\ 1\ 2\ 2v14a2\ 2\ 0\ 0\ 1-2\ 2H6a2\ 2\ 0\ 0\ 1-2-2V6a2\ 2\ 0\ 0\ 1\ 2-2h2\'/%3E%3C/svg%3E);--vp-icon-copied:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ fill=\'none\'\ stroke=\'rgba\(128,128,128,1\)\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'\ stroke-width=\'2\'\ viewBox=\'0\ 0\ 24\ 24\'%3E%3Crect\ width=\'8\'\ height=\'4\'\ x=\'8\'\ y=\'2\'\ rx=\'1\'\ ry=\'1\'/%3E%3Cpath\ d=\'M16\ 4h2a2\ 2\ 0\ 0\ 1\ 2\ 2v14a2\ 2\ 0\ 0\ 1-2\ 2H6a2\ 2\ 0\ 0\ 1-2-2V6a2\ 2\ 0\ 0\ 1\ 2-2h2\'/%3E%3Cpath\ d=\'m9\ 14\ 2\ 2\ 4-4\'/%3E%3C/svg%3E)}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.dark .vp-code span{color:var(--shiki-dark,inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light,inherit)}@media (min-width:640px){}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width:768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc li+li{margin-top:8px}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width:640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width:639px){}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;-webkit-user-select:none;user-select:none;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(:is(.no-icon,svg a,:has(img,svg))):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon:url(data:image/svg+xml,\ %3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ viewBox=\'0\ 0\ 24\ 24\'\ %3E%3Cpath\ d=\'M0\ 0h24v24H0V0z\'\ fill=\'none\'\ /%3E%3Cpath\ d=\'M9\ 5v2h6.59L4\ 18.59\ 5.41\ 20\ 17\ 8.41V15h2V5H9z\'\ /%3E%3C/svg%3E);-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}@media (min-width:1280px){}@media (min-width:768px){}.root[data-v-9601d51b]{position:relative;z-index:1}.nested[data-v-9601d51b]{padding-right:16px;padding-left:16px}.outline-link[data-v-9601d51b]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-9601d51b]:hover,.outline-link.active[data-v-9601d51b]{color:var(--vp-c-text-1);transition:color .25s}.VPDocAsideOutline.has-outline[data-v-2c5748eb]{display:block}.content[data-v-2c5748eb]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-2c5748eb]{position:absolute;left:-1px;z-index:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-2c5748eb]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-4d65cdb9]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-4d65cdb9]{flex-grow:1}@media (min-width:640px){}.VPDocFooter[data-v-a296febb]{margin-top:64px}@media (min-width:640px){}.prev-next[data-v-a296febb]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width:640px){.prev-next[data-v-a296febb]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-a296febb]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-a296febb]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-a296febb]{margin-left:auto;text-align:right}.desc[data-v-a296febb]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-a296febb]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-eab3e7f3]{padding:32px 24px 96px;width:100%}@media (min-width:768px){.VPDoc[data-v-eab3e7f3]{padding:48px 32px 128px}}@media (min-width:960px){.VPDoc[data-v-eab3e7f3]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-eab3e7f3]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-eab3e7f3]{max-width:752px}}@media (min-width:1280px){.VPDoc .container[data-v-eab3e7f3]{display:flex;justify-content:center}.VPDoc .aside[data-v-eab3e7f3]{display:block}}@media (min-width:1440px){.VPDoc:not(.has-sidebar) .content[data-v-eab3e7f3]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-eab3e7f3]{max-width:1104px}}.container[data-v-eab3e7f3]{margin:0 auto;width:100%}.aside[data-v-eab3e7f3]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.aside-container[data-v-eab3e7f3]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height,0px) + var(--vp-doc-top-height,0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-eab3e7f3]::-webkit-scrollbar{display:none}.aside-curtain[data-v-eab3e7f3]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-eab3e7f3]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height,0px) + 48px));padding-bottom:32px}.content[data-v-eab3e7f3]{position:relative;margin:0 auto;width:100%}@media (min-width:960px){.content[data-v-eab3e7f3]{padding:0 32px 128px}}@media (min-width:1280px){.content[data-v-eab3e7f3]{order:1;margin:0;min-width:640px}}.content-container[data-v-eab3e7f3]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-eab3e7f3]{max-width:688px}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:960px){}@media (min-width:960px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:768px){}@media (min-width:960px){}@media (min-width:640px){}@media (min-width:960px){}@media (min-width:768px){}.VPContent[data-v-c28f9681]{flex-grow:1;flex-shrink:0;width:100%}.VPContent.has-sidebar[data-v-c28f9681]{margin:0}@media (min-width:960px){.VPContent[data-v-c28f9681]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-c28f9681]{margin:var(--vp-layout-top-height,0px)0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width:1440px){.VPContent.has-sidebar[data-v-c28f9681]{padding-right:calc((100vw - var(--vp-layout-max-width))/2);padding-left:calc((100vw - var(--vp-layout-max-width))/2 + var(--vp-sidebar-width))}}@media (min-width:768px){}@media (min-width:960px){}@media (min-width:960px){}@media (min-width:960px){}@media (min-width:960px){}@media (min-width:1280px){}@media (min-width:1440px){}@media (min-width:768px){}@media (min-width:960px){}@media (min-width:768px){}.VPSwitch[data-v-4d14cc6a]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-4d14cc6a]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-4d14cc6a]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-4d14cc6a]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-4d14cc6a] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px}.dark .icon[data-v-4d14cc6a] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.dark .sun[data-v-01ab451c]{opacity:0}.dark .moon[data-v-01ab451c]{opacity:1}.dark .VPSwitchAppearance[data-v-01ab451c] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-8292bd6e]{display:none}@media (min-width:1280px){.VPNavBarAppearance[data-v-8292bd6e]{display:flex;align-items:center}}@media (min-width:768px){}@media (min-width:1280px){}@media (min-width:768px){}.VPNavBarMenuLink[data-v-db173cc8]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-db173cc8],.VPNavBarMenuLink[data-v-db173cc8]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-e1b592f5]{display:none}@media (min-width:768px){.VPNavBarMenu[data-v-e1b592f5]{display:flex}}.VPNavBarSearch{padding-left:16px}.VPPluginSearch-modal-back{left:0;right:0;top:0;bottom:0;background:#545454b3;position:fixed;z-index:65}@media (max-width:768px){}.DocSearch-Button-Key{padding-bottom:2px}@media (min-width:768px){.DocSearch-Button{justify-content:flex-start;width:100%}}@media (min-width:768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:10px;width:15px;height:15px}}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vt-c-text-1)}@media (min-width:960px){.DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vt-c-text-1)}.DocSearch-Button .DocSearch-Button-Key{margin-top:2px}.DocSearch-Button:hover .DocSearch-Button-Key{color:var(--vt-c-brand-light)}@media (min-width:768px){.DocSearch-Button .DocSearch-Button-Key{display:inline-block}}@media (min-width:1280px){}.title[data-v-1dd553bc]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width:960px){.title[data-v-1dd553bc]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-1dd553bc]{border-bottom-color:var(--vp-c-divider)}}@media (min-width:1280px){}.VPNavBar[data-v-6c3902d4]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar[data-v-6c3902d4]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width:960px){.VPNavBar[data-v-6c3902d4]:not(.home){background-color:transparent}.VPNavBar[data-v-6c3902d4]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-6c3902d4]{padding:0 8px 0 24px}@media (min-width:768px){.wrapper[data-v-6c3902d4]{padding:0 32px}}@media (min-width:960px){.VPNavBar.has-sidebar .wrapper[data-v-6c3902d4]{padding:0}}.container[data-v-6c3902d4]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-6c3902d4],.container>.content[data-v-6c3902d4]{pointer-events:none}.container[data-v-6c3902d4] *{pointer-events:auto}@media (min-width:960px){.VPNavBar.has-sidebar .container[data-v-6c3902d4]{max-width:100%}}.title[data-v-6c3902d4]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width:960px){.VPNavBar.has-sidebar .title[data-v-6c3902d4]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width:1440px){.VPNavBar.has-sidebar .title[data-v-6c3902d4]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px))/2));width:calc((100% - (var(--vp-layout-max-width) - 64px))/2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-6c3902d4]{flex-grow:1}@media (min-width:960px){.VPNavBar.has-sidebar .content[data-v-6c3902d4]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width:1440px){.VPNavBar.has-sidebar .content[data-v-6c3902d4]{padding-right:calc((100vw - var(--vp-layout-max-width))/2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width))/2 + var(--vp-sidebar-width))}}.content-body[data-v-6c3902d4]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width:960px){.VPNavBar:not(.home.top) .content-body[data-v-6c3902d4]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-6c3902d4]{background-color:transparent}}@media (max-width:767px){.content-body[data-v-6c3902d4]{column-gap:.5rem}}.menu+.translations[data-v-6c3902d4]:before,.menu+.appearance[data-v-6c3902d4]:before,.menu+.social-links[data-v-6c3902d4]:before,.translations+.appearance[data-v-6c3902d4]:before,.appearance+.social-links[data-v-6c3902d4]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-6c3902d4]:before,.translations+.appearance[data-v-6c3902d4]:before{margin-right:16px}.divider[data-v-6c3902d4]{width:100%;height:1px}@media (min-width:960px){.VPNavBar.has-sidebar .divider[data-v-6c3902d4]{padding-left:var(--vp-sidebar-width)}}@media (min-width:1440px){.VPNavBar.has-sidebar .divider[data-v-6c3902d4]{padding-left:calc((100vw - var(--vp-layout-max-width))/2 + var(--vp-sidebar-width))}}.divider-line[data-v-6c3902d4]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-6c3902d4]{background-color:var(--vp-c-gutter)}@media (min-width:960px){.VPNavBar:not(.home.top) .divider-line[data-v-6c3902d4]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-6c3902d4]{background-color:var(--vp-c-gutter)}}@media (min-width:768px){}.VPNav[data-v-7373fb3f]{position:relative;top:var(--vp-layout-top-height,0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width:960px){.VPNav[data-v-7373fb3f]{position:fixed}}.VPSidebarItem.level-0[data-v-252ba596]{padding-bottom:24px}.item[data-v-252ba596]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-252ba596]{cursor:pointer}.indicator[data-v-252ba596]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.link[data-v-252ba596]{display:flex;align-items:center;flex-grow:1}.text[data-v-252ba596]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-252ba596]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-252ba596]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-252ba596],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-252ba596],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-252ba596],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-252ba596],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-252ba596],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-252ba596]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-252ba596]{color:var(--vp-c-text-1)}.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-252ba596]{color:var(--vp-c-brand-1)}.caret[data-v-252ba596]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-252ba596]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-252ba596]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-252ba596]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.group+.group[data-v-23084387]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width:960px){.group[data-v-23084387]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-ef86de8e]{position:fixed;top:var(--vp-layout-top-height,0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.dark .VPSidebar[data-v-ef86de8e]{box-shadow:var(--vp-shadow-1)}@media (min-width:960px){.VPSidebar[data-v-ef86de8e]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width:1440px){.VPSidebar[data-v-ef86de8e]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px))/2));width:calc((100% - (var(--vp-layout-max-width) - 64px))/2 + var(--vp-sidebar-width) - 32px)}}@media (min-width:960px){.curtain[data-v-ef86de8e]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height)*-1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-ef86de8e]{outline:0}.VPSkipLink[data-v-0e06ef28]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-0e06ef28]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width:1280px){.VPSkipLink[data-v-0e06ef28]{top:14px;left:16px}}.Layout[data-v-8515e7bd]{display:flex;flex-direction:column;min-height:100vh}@media (min-width:768px){}@media (min-width:768px){}@media (min-width:960px){}/*! @docsearch/css 3.8.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0#555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0#d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0-2px 0 0#cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0-2px 0 0#cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0-1px 0 0#e0e3e8,0-3px 6px 0 rgba(69,98,155,.12)}.DocSearch-Button{border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}@media screen and (prefers-reduced-motion:reduce){}@media screen and (prefers-reduced-motion:reduce){}@media screen and (prefers-reduced-motion:reduce){}@media screen and (prefers-reduced-motion:reduce){}@media screen and (prefers-reduced-motion:reduce){}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color:var(--vp-c-brand-1);--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-text-color:var(--vp-c-text-1);--docsearch-muted-color:var(--vp-c-text-2);--docsearch-searchbox-shadow:none;--docsearch-searchbox-background:transparent;--docsearch-searchbox-focus-background:transparent;--docsearch-key-gradient:transparent;--docsearch-key-shadow:none;--docsearch-modal-background:var(--vp-c-bg-soft);--docsearch-footer-background:var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow:none;--docsearch-footer-shadow:none;--docsearch-logo-color:var(--vp-c-text-2);--docsearch-hit-background:var(--vp-c-default-soft);--docsearch-hit-color:var(--vp-c-text-2);--docsearch-hit-shadow:none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width:768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width:768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width:768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width:768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Search-Icon{--icon:url(data:image/svg+xml,%3Csvg\ xmlns=\'http://www.w3.org/2000/svg\'\ stroke-width=\'1.6\'\ viewBox=\'0\ 0\ 20\ 20\'%3E%3Cpath\ fill=\'none\'\ stroke=\'currentColor\'\ stroke-linecap=\'round\'\ stroke-linejoin=\'round\'\ d=\'m14.386\ 14.386\ 4.088\ 4.088-4.088-4.088A7.533\ 7.533\ 0\ 1\ 1\ 3.733\ 3.733a7.533\ 7.533\ 0\ 0\ 1\ 10.653\ 10.653z\'/%3E%3C/svg%3E)}.VPNavBarSearch{display:flex;align-items:center}@media (min-width:768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width:960px){.VPNavBarSearch{padding-left:32px}}@media (min-width:375px){}@media (min-width:768px){}@media (min-width:768px){}@media (min-width:768px){}@media (min-width:960px){}@media (min-width:768px){}@media (min-width:960px){}@media (min-width:768px){}@media (min-width:960px){}@media (min-width:768px){}@media (min-width:768px){}/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}:root{--vp-c-brand:#ff3670;--vp-c-brand-light:#ff5e8c;--vp-c-brand-lighter:#ff85a8;--vp-c-brand-lightest:#ff9bb7;--vp-c-brand-dark:#bd34fe;--vp-c-brand-darker:#9339bd;--vp-c-brand-dimm:rgba(100,108,255,.08)}:root{--vp-home-hero-name-color:transparent;--vp-home-hero-name-background:-webkit-linear-gradient(120deg,#bd34fe 30%,#ff3670);--vp-home-hero-image-background-image:linear-gradient(-45deg,#bd34fe 50%,#ff3670 50%);--vp-home-hero-image-filter:blur(72px)}.vp-doc>div{width:100%}.editable-code:focus{outline:none}.buttons-container{position:absolute;bottom:0;right:0;z-index:1;padding:.5rem;display:flex;gap:.5rem}.buttons-container>span{cursor:default;opacity:.5;font-size:.8rem}.buttons-container>button{color:#007bffbf;font-weight:700;cursor:pointer}.buttons-container>button:hover{color:#007bff}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0/0);--un-ring-shadow:0 0 rgb(0 0 0/0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0/0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253/.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.vp-doc th,.vp-doc td{padding:6px 10px;border:1px solid #8882}@media (min-width:1064px) and (max-width:1143px){}@media (min-width:815px) and (max-width:875px){}@media (max-width:612px){}@media (max-width:568px){}</style>
<style>[id|="dmermaid"]{height:0;overflow:hidden}</style>
<meta name=referrer content=no-referrer><link rel=icon type=image/x-icon href=""><style>.sf-hidden{display:none!important}</style><link rel=canonical href=https://mermaid.nodejs.cn/syntax/classDiagram.html><meta http-equiv=content-security-policy content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:; object-src 'self' data:; frame-src 'self' data:;"></head>
 <body>
 <div id=app><div class=Layout data-v-8515e7bd><span tabindex=-1 data-v-0e06ef28></span><a href=#VPContent class="VPSkipLink visually-hidden" data-v-0e06ef28>Skip to content</a><header class=VPNav data-v-8515e7bd data-v-7373fb3f><div class="VPNavBar has-sidebar top" data-v-7373fb3f data-v-6c3902d4><div class=wrapper data-v-6c3902d4><div class=container data-v-6c3902d4><div class=title data-v-6c3902d4><div class="VPNavBarTitle has-sidebar" data-v-6c3902d4 data-v-1dd553bc><a class=title href=https://mermaid.nodejs.cn/ data-v-1dd553bc><span data-v-1dd553bc>Mermaid 中文网</span></a></div></div><div class=content data-v-6c3902d4><div class=content-body data-v-6c3902d4><div class="VPNavBarSearch search" data-v-6c3902d4><div id=docsearch><button type=button class="DocSearch DocSearch-Button" aria-label=Search><span class=DocSearch-Button-Container><svg width=20 height=20 class=DocSearch-Search-Icon viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke=currentColor fill=none fill-rule=evenodd stroke-linecap=round stroke-linejoin=round></path></svg><span class=DocSearch-Button-Placeholder>Search</span></span><span class=DocSearch-Button-Keys><span class=DocSearch-Button-Key>Ctrl</span><span class=DocSearch-Button-Key>K</span></span></button></div></div><nav aria-labelledby=main-nav-aria-label class="VPNavBarMenu menu" data-v-6c3902d4 data-v-e1b592f5><span id=main-nav-aria-label class=visually-hidden data-v-e1b592f5> Main Navigation </span><a class="VPLink link VPNavBarMenuLink" href=https://mermaid.nodejs.cn/intro/ tabindex=0 data-v-e1b592f5 data-v-db173cc8><span data-v-db173cc8>开发文档</span></a><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href=https://mermaid-live.nodejs.cn/ target=_blank rel=noreferrer tabindex=0 data-v-e1b592f5 data-v-db173cc8><span data-v-db173cc8>💻 在线编辑器</span></a></nav><div class="VPNavBarAppearance appearance" data-v-6c3902d4 data-v-8292bd6e><button class="VPSwitch VPSwitchAppearance" type=button role=switch title=切换到浅色模式 aria-checked=false data-v-8292bd6e data-v-01ab451c data-v-4d14cc6a><span class=check data-v-4d14cc6a><span class=icon data-v-4d14cc6a><span class="vpi-sun sun" data-v-01ab451c></span><span class="vpi-moon moon" data-v-01ab451c></span></span></span></button></div><div class="VPFlyout VPNavBarExtra extra sf-hidden" data-v-6c3902d4 data-v-29b08b9a data-v-64247f19></div><button type=button class="VPNavBarHamburger hamburger sf-hidden" aria-label="mobile navigation" aria-expanded=false aria-controls=VPNavScreen data-v-6c3902d4 data-v-91307770></button></div></div></div></div><div class=divider data-v-6c3902d4><div class=divider-line data-v-6c3902d4></div></div></div></header><div data-v-4b2a5581 data-v-8515e7bd class="VPLocalNav has-sidebar sf-hidden"></div><aside data-v-ef86de8e data-v-8515e7bd class=VPSidebar><div data-v-ef86de8e class=curtain></div><nav data-v-ef86de8e class=nav id=VPSidebarNav aria-labelledby=sidebar-aria-label tabindex=-1><span data-v-ef86de8e class=visually-hidden id=sidebar-aria-label> Sidebar Navigation </span><div data-v-23084387 class=group><section data-v-252ba596 data-v-23084387 class="VPSidebarItem level-0 collapsible"><div data-v-252ba596 class=item role=button tabindex=0><div data-v-252ba596 class=indicator></div><h2 data-v-252ba596 class=text>📔 介绍</h2><div data-v-252ba596 class=caret role=button aria-label="toggle section" tabindex=0><span data-v-252ba596 class="vpi-chevron-right caret-icon"></span></div></div><div data-v-252ba596 class=items><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/intro/><p data-v-252ba596 class=text>关于 Mermaid</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/intro/getting-started.html><p data-v-252ba596 class=text>立即开始</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/intro/syntax-reference.html><p data-v-252ba596 class=text>语法和配置</p></a></div></div></div></section></div><div data-v-23084387 class=group><section data-v-252ba596 data-v-23084387 class="VPSidebarItem level-0 collapsible has-active"><div data-v-252ba596 class=item role=button tabindex=0><div data-v-252ba596 class=indicator></div><h2 data-v-252ba596 class=text>📊 图表语法</h2><div data-v-252ba596 class=caret role=button aria-label="toggle section" tabindex=0><span data-v-252ba596 class="vpi-chevron-right caret-icon"></span></div></div><div data-v-252ba596 class=items><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/flowchart.html><p data-v-252ba596 class=text>流程图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/sequenceDiagram.html><p data-v-252ba596 class=text>时序图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link is-active has-active"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/classDiagram.html><p data-v-252ba596 class=text>类图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/stateDiagram.html><p data-v-252ba596 class=text>状态图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/entityRelationshipDiagram.html><p data-v-252ba596 class=text>实体关系图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/userJourney.html><p data-v-252ba596 class=text>用户旅程图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/gantt.html><p data-v-252ba596 class=text>甘特图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/pie.html><p data-v-252ba596 class=text>饼图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/quadrantChart.html><p data-v-252ba596 class=text>象限图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/requirementDiagram.html><p data-v-252ba596 class=text>需求图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/gitgraph.html><p data-v-252ba596 class=text>Gitgraph (Git) 图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/c4.html><p data-v-252ba596 class=text>C4 图 🦺⚠️</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/mindmap.html><p data-v-252ba596 class=text>思维导图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/timeline.html><p data-v-252ba596 class=text>时间线图</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/zenuml.html><p data-v-252ba596 class=text>ZenUML</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/sankey.html><p data-v-252ba596 class=text>桑基图 🔥</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/xyChart.html><p data-v-252ba596 class=text>XY 图 🔥</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/block.html><p data-v-252ba596 class=text>框图 🔥</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/packet.html><p data-v-252ba596 class=text>数据包图 🔥</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/kanban.html><p data-v-252ba596 class=text>看板图 🔥</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/architecture.html><p data-v-252ba596 class=text>架构图 🔥</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/syntax/examples.html><p data-v-252ba596 class=text>其他示例</p></a></div></div></div></section></div><div data-v-23084387 class=group><section data-v-252ba596 data-v-23084387 class="VPSidebarItem level-0 collapsible"><div data-v-252ba596 class=item role=button tabindex=0><div data-v-252ba596 class=indicator></div><h2 data-v-252ba596 class=text>📚 生态系统</h2><div data-v-252ba596 class=caret role=button aria-label="toggle section" tabindex=0><span data-v-252ba596 class="vpi-chevron-right caret-icon"></span></div></div><div data-v-252ba596 class=items><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/ecosystem/mermaid-chart.html><p data-v-252ba596 class=text>Mermaid 图表</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/ecosystem/tutorials.html><p data-v-252ba596 class=text>教程</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/ecosystem/integrations-community.html><p data-v-252ba596 class=text>集成 - 社区</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/ecosystem/integrations-create.html><p data-v-252ba596 class=text>集成 - 创建</p></a></div></div></div></section></div><div data-v-23084387 class=group><section data-v-252ba596 data-v-23084387 class="VPSidebarItem level-0 collapsible"><div data-v-252ba596 class=item role=button tabindex=0><div data-v-252ba596 class=indicator></div><h2 data-v-252ba596 class=text>⚙️ 部署与配置</h2><div data-v-252ba596 class=caret role=button aria-label="toggle section" tabindex=0><span data-v-252ba596 class="vpi-chevron-right caret-icon"></span></div></div><div data-v-252ba596 class=items><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/configuration.html><p data-v-252ba596 class=text>配置</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/usage.html><p data-v-252ba596 class=text>API 用法</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/setup/README.html><p data-v-252ba596 class=text>Mermaid API 配置</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/schema-docs/config.html><p data-v-252ba596 class=text>Mermaid 配置选项</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/icons.html><p data-v-252ba596 class=text>注册图标</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/directives.html><p data-v-252ba596 class=text>指令</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/theming.html><p data-v-252ba596 class=text>主题</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/math.html><p data-v-252ba596 class=text>算术</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/accessibility.html><p data-v-252ba596 class=text>无障碍</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/mermaidCLI.html><p data-v-252ba596 class=text>Mermaid 命令行</p></a></div></div><div data-v-252ba596 class="VPSidebarItem level-1 is-link"><div data-v-252ba596 class=item><div data-v-252ba596 class=indicator></div><a data-v-252ba596 class="VPLink link" href=https://mermaid.nodejs.cn/config/faq.html><p data-v-252ba596 class=text>常见问题</p></a></div></div></div></section></div></nav></aside><div class="VPContent has-sidebar" id=VPContent data-v-8515e7bd data-v-c28f9681><div data-v-eab3e7f3 data-v-c28f9681 class="VPDoc has-sidebar has-aside"><div data-v-eab3e7f3 class=container><div data-v-eab3e7f3 class=aside><div data-v-eab3e7f3 class=aside-curtain></div><div data-v-eab3e7f3 class=aside-container><div data-v-eab3e7f3 class=aside-content><div data-v-4d65cdb9 data-v-eab3e7f3 class=VPDocAside><nav data-v-2c5748eb data-v-4d65cdb9 aria-labelledby=doc-outline-aria-label class="VPDocAsideOutline has-outline"><div data-v-2c5748eb class=content><div data-v-2c5748eb class=outline-marker style=top:33px;opacity:0></div><div data-v-2c5748eb aria-level=2 class=outline-title id=doc-outline-aria-label role=heading>页面导航</div><ul data-v-9601d51b data-v-2c5748eb class="VPDocOutlineItem root"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#syntax title=语法>语法</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#class title=类>类</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#define-a-class title=定义一个类>定义一个类</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#class-labels title=类别标签>类别标签</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#defining-members-of-a-class title=定义类的成员>定义类的成员</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#return-type title=返回类型>返回类型</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#generic-types title=通用类型>通用类型</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#visibility title=能见度>能见度</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#defining-relationship title=定义关系>定义关系</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#labels-on-relations title=关系标签>关系标签</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#two-way-relations title=双向关系>双向关系</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#lollipop-interfaces title=棒棒糖界面>棒棒糖界面</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#define-namespace title=定义命名空间>定义命名空间</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#cardinality--multiplicity-on-relations title=关系的基数/多重性>关系的基数/多重性</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#annotations-on-classes title=类上的注释>类上的注释</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#comments title=注释>注释</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#setting-the-direction-of-the-diagram title=设置图表的方向>设置图表的方向</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#interaction title=相互作用>相互作用</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#notes title=注意>注意</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#examples title=示例>示例</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#styling title=样式>样式</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#styling-a-node title=设置节点样式>设置节点样式</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#classes title=类>类</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#default-class title=默认类别>默认类别</a><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#css-classes title="CSS 类">CSS 类</a></ul><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#configuration title=配置>配置</a><ul data-v-9601d51b class="VPDocOutlineItem nested"><li data-v-9601d51b><a data-v-9601d51b class=outline-link href=#members-box title=成员框>成员框</a></ul></ul></div></nav><div data-v-4d65cdb9 class=spacer></div></div></div></div></div><div data-v-eab3e7f3 class=content><div data-v-eab3e7f3 class=content-container><main data-v-eab3e7f3 class=main><div data-v-eab3e7f3 class="vp-doc _syntax_classDiagram" style=position:relative><div style=opacity:unset><h1 id=class-diagrams tabindex=-1>类图 <a class=header-anchor href=#class-diagrams aria-label='Permalink to "类图 {#class-diagrams}"'>​</a></h1><p class="p-off p-en sf-hidden">¥Class diagrams<blockquote><p>"在软件工程中，统一建模语言（UML）中的类图是一种静态结构图，它通过显示系统的类、它们的属性、操作（或方法）以及对象之间的关系来描述系统的结构。"<p class="p-off p-en sf-hidden">¥"In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects."<p>-Wikipedia</p></blockquote><p>类图是面向对象建模的主要构建块。它用于应用结构的一般概念建模，以及将模型转换为编程代码的详细建模。类图也可用于数据建模。类图中的类表示主要元素、应用中的交互以及要编程的类。<p class="p-off p-en sf-hidden">¥The class diagram is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and for detailed modeling to translate the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main elements, interactions in the application, and the classes to be programmed.<p>Mermaid 可以渲染类图。<p class="p-off p-en sf-hidden">¥Mermaid can render class diagrams.<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>---
title: Animal example
---
classDiagram
    note "From Duck till Zebra"
    Animal &lt;|-- Duck
    note for Duck "can fly\ncan swim\ncan dive\ncan help in debugging"
    Animal &lt;|-- Fish
    Animal &lt;|-- Zebra
    Animal : +int age
    Animal : +String gender
    Animal: +isMammal()
    Animal: +mate()
    class Duck{
        +String beakColor
        +swim()
        +quack()
    }
    class Fish{
        -int sizeInFeet
        -canEat()
    }
    class Zebra{
        +bool is_wild
        +run()
    }
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-29 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:902.8212890625px viewBox="0 -48 902.8212890625 474" role="graphics-document document" aria-roledescription=class><style>#mermaid-29{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-29 .edge-pattern-solid{stroke-dasharray:0}#mermaid-29 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-29 p{margin:0}#mermaid-29 .nodeLabel,#mermaid-29 .edgeLabel{color:#e0dfdf}#mermaid-29 .labelBkg{background:#1f2020}#mermaid-29 .edgeLabel .label span{background:#1f2020}#mermaid-29 .node rect,#mermaid-29 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-29 .divider{stroke:#ccc;stroke-width:1}#mermaid-29 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-29 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-29 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-29 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-29 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-29 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-29 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-29 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-29 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-29 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-29 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-29 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-29_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-29_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-29_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-29_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M201.191,122L201.191,139.167C201.191,156.333,201.191,190.667,201.191,212C201.191,233.333,201.191,241.667,201.191,245.833L201.191,250 id=edgeNote2 class="edge-thickness-normal edge-pattern-dotted relation" style=fill:none></path><path d=M636.92,146.674L608.384,159.729C579.847,172.783,522.773,198.891,464.23,224.311C405.688,249.73,345.676,274.46,315.67,286.825L285.664,299.19 id=id_Animal_Duck_1 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-29_class-extensionStart)></path><path d=M643.494,214.143L642.069,215.952C640.645,217.762,637.795,221.381,636.371,229.357C634.946,237.333,634.946,249.667,634.946,255.833L634.946,262 id=id_Animal_Fish_2 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-29_class-extensionStart)></path><path d=M816.92,214.143L818.345,215.952C819.769,217.762,822.619,221.381,824.043,229.357C825.468,237.333,825.468,249.667,825.468,255.833L825.468,262 id=id_Animal_Zebra_3 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-29_class-extensionStart)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, 0)"><foreignobject width=0 height=0><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-Animal-102 transform="translate(730.20703125, 104)"><g class="basic label-container"><path d="M-76.91796875 -96 L76.91796875 -96 L76.91796875 96 L-76.91796875 96" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-76.91796875 -96 C-41.052127978316584 -96, -5.186287206633168 -96, 76.91796875 -96 M-76.91796875 -96 C-45.03039271056332 -96, -13.142816671126646 -96, 76.91796875 -96 M76.91796875 -96 C76.91796875 -29.494568269537112, 76.91796875 37.010863460925776, 76.91796875 96 M76.91796875 -96 C76.91796875 -19.34740960663322, 76.91796875 57.30518078673356, 76.91796875 96 M76.91796875 96 C20.085177959484625 96, -36.74761283103075 96, -76.91796875 96 M76.91796875 96 C40.54169173648435 96, 4.1654147229687055 96, -76.91796875 96 M-76.91796875 96 C-76.91796875 53.35481393333703, -76.91796875 10.709627866674055, -76.91796875 -96 M-76.91796875 96 C-76.91796875 27.459044611249226, -76.91796875 -41.08191077750155, -76.91796875 -96" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-25.671875, -72)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-64.91796875, -24)"><g class=label transform=translate(0,-12)><foreignobject width=58.0234375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:122px;text-align:center><span class="nodeLabel markdown-node-label"><p>+int age</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=104.1640625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:174px;text-align:center><span class="nodeLabel markdown-node-label"><p>+String gender</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-64.91796875, 48)"><g class=label transform=translate(0,-12)><foreignobject width=90.625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:159px;text-align:center><span class="nodeLabel markdown-node-label"><p>+isMammal()</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=56.8984375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:118px;text-align:center><span class="nodeLabel markdown-node-label"><p>+mate()</p></span></div></foreignobject></g></g><g class=divider><path d="M-76.91796875 -48 C-26.693119431475637 -48, 23.531729887048726 -48, 76.91796875 -48 M-76.91796875 -48 C-42.04136243846011 -48, -7.164756126920224 -48, 76.91796875 -48" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-76.91796875 24 C-38.91917072696988 24, -0.920372703939762 24, 76.91796875 24 M-76.91796875 24 C-19.647387734341983 24, 37.623193281316034 24, 76.91796875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Duck-103 transform="translate(201.19140625, 334)"><g class="basic label-container"><path d="M-84.47265625 -84 L84.47265625 -84 L84.47265625 84 L-84.47265625 84" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-84.47265625 -84 C-26.06738302178548 -84, 32.33789020642904 -84, 84.47265625 -84 M-84.47265625 -84 C-24.13184800590787 -84, 36.20896023818426 -84, 84.47265625 -84 M84.47265625 -84 C84.47265625 -40.261749155359986, 84.47265625 3.4765016892800276, 84.47265625 84 M84.47265625 -84 C84.47265625 -26.372206728386104, 84.47265625 31.255586543227793, 84.47265625 84 M84.47265625 84 C22.137421667874847 84, -40.19781291425031 84, -84.47265625 84 M84.47265625 84 C45.52205928203055 84, 6.571462314061094 84, -84.47265625 84 M-84.47265625 84 C-84.47265625 18.30779037024118, -84.47265625 -47.38441925951764, -84.47265625 -84 M-84.47265625 84 C-84.47265625 22.26759319940006, -84.47265625 -39.46481360119988, -84.47265625 -84" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -60)"></g><g class="label-group text" transform="translate(-18.34375, -60)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=36.6875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:89px;text-align:center><span class="nodeLabel markdown-node-label"><p>Duck</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-72.47265625, -12)"><g class=label transform=translate(0,-12)><foreignobject width=126.6015625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:198px;text-align:center><span class="nodeLabel markdown-node-label"><p>+String beakColor</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-72.47265625, 36)"><g class=label transform=translate(0,-12)><foreignobject width=56.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:119px;text-align:center><span class="nodeLabel markdown-node-label"><p>+swim()</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=62.1953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:125px;text-align:center><span class="nodeLabel markdown-node-label"><p>+quack()</p></span></div></foreignobject></g></g><g class=divider><path d="M-84.47265625 -36 C-21.570694076009296 -36, 41.33126809798141 -36, 84.47265625 -36 M-84.47265625 -36 C-21.904528528176414 -36, 40.66359919364717 -36, 84.47265625 -36" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-84.47265625 12 C-36.97107935364755 12, 10.530497542704893 12, 84.47265625 12 M-84.47265625 12 C-19.996003559607928 12, 44.480649130784144 12, 84.47265625 12" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Fish-104 transform="translate(634.9462890625, 334)"><g class="basic label-container"><path d="M-71.16796875 -72 L71.16796875 -72 L71.16796875 72 L-71.16796875 72" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-71.16796875 -72 C-35.48320460729425 -72, 0.20155953541150495 -72, 71.16796875 -72 M-71.16796875 -72 C-25.067089558606085 -72, 21.03378963278783 -72, 71.16796875 -72 M71.16796875 -72 C71.16796875 -27.49515129331747, 71.16796875 17.00969741336506, 71.16796875 72 M71.16796875 -72 C71.16796875 -31.16641688669604, 71.16796875 9.667166226607918, 71.16796875 72 M71.16796875 72 C33.855175770756695 72, -3.45761720848661 72, -71.16796875 72 M71.16796875 72 C14.629130121046025 72, -41.90970850790795 72, -71.16796875 72 M-71.16796875 72 C-71.16796875 31.51054866802214, -71.16796875 -8.978902663955722, -71.16796875 -72 M-71.16796875 72 C-71.16796875 35.308269753405014, -71.16796875 -1.3834604931899719, -71.16796875 -72" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-15.2421875, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=30.484375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:81px;text-align:center><span class="nodeLabel markdown-node-label"><p>Fish</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-59.16796875, 0)"><g class=label transform=translate(0,-12)><foreignobject width=103.09375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:165px;text-align:center><span class="nodeLabel markdown-node-label"><p>-int sizeInFeet</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-59.16796875, 48)"><g class=label transform=translate(0,-12)><foreignobject width=66.015625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:125px;text-align:center><span class="nodeLabel markdown-node-label"><p>-canEat()</p></span></div></foreignobject></g></g><g class=divider><path d="M-71.16796875 -24 C-16.865900958799585 -24, 37.43616683240083 -24, 71.16796875 -24 M-71.16796875 -24 C-36.87209681825275 -24, -2.5762248865055 -24, 71.16796875 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-71.16796875 24 C-32.18177086900508 24, 6.804427011989844 24, 71.16796875 24 M-71.16796875 24 C-26.24422284774605 24, 18.679523054507897 24, 71.16796875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Zebra-105 transform="translate(825.4677734375, 334)"><g class="basic label-container"><path d="M-69.353515625 -72 L69.353515625 -72 L69.353515625 72 L-69.353515625 72" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-69.353515625 -72 C-26.59606918179402 -72, 16.161377261411957 -72, 69.353515625 -72 M-69.353515625 -72 C-23.797993395637093 -72, 21.757528833725814 -72, 69.353515625 -72 M69.353515625 -72 C69.353515625 -39.71424065118412, 69.353515625 -7.42848130236824, 69.353515625 72 M69.353515625 -72 C69.353515625 -14.451115193116564, 69.353515625 43.09776961376687, 69.353515625 72 M69.353515625 72 C26.59664981042907 72, -16.16021600414186 72, -69.353515625 72 M69.353515625 72 C34.47659164703595 72, -0.4003323309280944 72, -69.353515625 72 M-69.353515625 72 C-69.353515625 42.39400244126108, -69.353515625 12.788004882522166, -69.353515625 -72 M-69.353515625 72 C-69.353515625 42.41111463089366, -69.353515625 12.822229261787314, -69.353515625 -72" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-21.16015625, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=42.3203125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:94px;text-align:center><span class="nodeLabel markdown-node-label"><p>Zebra</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-57.353515625, 0)"><g class=label transform=translate(0,-12)><foreignobject width=93.546875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:159px;text-align:center><span class="nodeLabel markdown-node-label"><p>+bool is_wild</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-57.353515625, 48)"><g class=label transform=translate(0,-12)><foreignobject width=43.84375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:106px;text-align:center><span class="nodeLabel markdown-node-label"><p>+run()</p></span></div></foreignobject></g></g><g class=divider><path d="M-69.353515625 -24 C-30.338279410564333 -24, 8.676956803871335 -24, 69.353515625 -24 M-69.353515625 -24 C-18.095099322656225 -24, 33.16331697968755 -24, 69.353515625 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-69.353515625 24 C-16.705640419059215 24, 35.94223478688157 24, 69.353515625 24 M-69.353515625 24 C-17.92612353119069 24, 33.50126856261862 24, 69.353515625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node undefined" id=note0 transform="translate(523.8359375, 104)"><g class="basic label-container"><path d="M-79.453125 -18 L79.453125 -18 L79.453125 18 L-79.453125 18" stroke=none stroke-width=0 fill="hsl(180, 1.5873015873%, 28.3529411765%)" style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path><path d="M-79.453125 -18 C-24.584605375258356 -18, 30.28391424948329 -18, 79.453125 -18 M-79.453125 -18 C-36.25448536248237 -18, 6.94415427503526 -18, 79.453125 -18 M79.453125 -18 C79.453125 -5.265708767312137, 79.453125 7.468582465375725, 79.453125 18 M79.453125 -18 C79.453125 -10.592748433271678, 79.453125 -3.1854968665433567, 79.453125 18 M79.453125 18 C18.56149871351125 18, -42.3301275729775 18, -79.453125 18 M79.453125 18 C24.639221877089085 18, -30.17468124582183 18, -79.453125 18 M-79.453125 18 C-79.453125 7.94494683074228, -79.453125 -2.1101063385154397, -79.453125 -18 M-79.453125 18 C-79.453125 10.347774956779466, -79.453125 2.6955499135589314, -79.453125 -18" stroke="hsl(180, 0%, 18.3529411765%)" stroke-width=1.3 fill=none style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path></g><g class=label style=text-align:left!important;white-space:nowrap!important transform="translate(-73.453125, -12)"><rect></rect><foreignobject width=146.90625 height=24><div style=text-align:center;white-space:nowrap;display:table-cell;line-height:1.5;max-width:200px xmlns=http://www.w3.org/1999/xhtml><span style=text-align:left!important;white-space:nowrap!important class=nodeLabel><p>From Duck till Zebra</p></span></div></foreignobject></g></g><g class="node undefined" id=note1 transform="translate(201.19140625, 104)"><g class="basic label-container"><path d="M-193.19140625 -18 L193.19140625 -18 L193.19140625 18 L-193.19140625 18" stroke=none stroke-width=0 fill="hsl(180, 1.5873015873%, 28.3529411765%)" style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path><path d="M-193.19140625 -18 C-65.14399438783576 -18, 62.90341747432848 -18, 193.19140625 -18 M-193.19140625 -18 C-114.34617998602975 -18, -35.500953722059506 -18, 193.19140625 -18 M193.19140625 -18 C193.19140625 -9.140481628057072, 193.19140625 -0.28096325611414485, 193.19140625 18 M193.19140625 -18 C193.19140625 -10.771121193446746, 193.19140625 -3.542242386893493, 193.19140625 18 M193.19140625 18 C90.0792732067673 18, -13.032859836465406 18, -193.19140625 18 M193.19140625 18 C82.20112340409169 18, -28.789159441816622 18, -193.19140625 18 M-193.19140625 18 C-193.19140625 7.531820140275837, -193.19140625 -2.936359719448326, -193.19140625 -18 M-193.19140625 18 C-193.19140625 10.000720480472483, -193.19140625 2.001440960944965, -193.19140625 -18" stroke="hsl(180, 0%, 18.3529411765%)" stroke-width=1.3 fill=none style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path></g><g class=label style=text-align:left!important;white-space:nowrap!important transform="translate(-187.19140625, -12)"><rect></rect><foreignobject width=374.3828125 height=24><div style=text-align:center;white-space:break-spaces;display:table;line-height:1.5;max-width:200px;width:200px xmlns=http://www.w3.org/1999/xhtml><span style=text-align:left!important;white-space:nowrap!important class=nodeLabel><p>can fly\ncan swim\ncan dive\ncan help in debugging</p></span></div></foreignobject></g></g></g></g></g><text text-anchor=middle x=451.41064453125 y=-25 class=classDiagramTitleText>Animal example</text></svg> <span style=display:none>z300sg</span></div><h2 id=syntax tabindex=-1>语法 <a class=header-anchor href=#syntax aria-label='Permalink to "语法 {#syntax}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Syntax<h3 id=class tabindex=-1>类 <a class=header-anchor href=#class aria-label='Permalink to "类 {#class}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Class<p>UML 提供了表示类成员（例如属性和方法）以及有关它们的附加信息的机制。图中类的单个实例包含三个部分：<p class="p-off p-en sf-hidden">¥UML provides mechanisms to represent class members, such as attributes and methods, and additional information about them. A single instance of a class in the diagram contains three compartments:<ul><li><p>顶部隔间包含类的名称。它以粗体居中打印，第一个字母大写。它还可能包含描述类性质的可选注释文本。<p class="p-off p-en sf-hidden">¥The top compartment contains the name of the class. It is printed in bold and centered, and the first letter is capitalized. It may also contain optional annotation text describing the nature of the class.</p><li><p>中间的部分包含类的属性。它们左对齐且第一个字母小写。<p class="p-off p-en sf-hidden">¥The middle compartment contains the attributes of the class. They are left-aligned and the first letter is lowercase.</p><li><p>底部隔间包含该类可以执行的操作。它们也是左对齐的，并且第一个字母是小写的。<p class="p-off p-en sf-hidden">¥The bottom compartment contains the operations the class can execute. They are also left-aligned and the first letter is lowercase.</p></ul><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>---
title: Bank example
---
classDiagram
    class BankAccount
    BankAccount : +String owner
    BankAccount : +Bigdecimal balance
    BankAccount : +deposit(amount)
    BankAccount : +withdrawal(amount)

</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-74 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:242.8984375px viewBox="0 -48 242.8984375 256" role="graphics-document document" aria-roledescription=class><style>#mermaid-74{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-74 p{margin:0}#mermaid-74 .nodeLabel{color:#e0dfdf}#mermaid-74 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-74 .divider{stroke:#ccc;stroke-width:1}#mermaid-74 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-74 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-74 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-74 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-74 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-74 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-74 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-74 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-74 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-74 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-74 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-74_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-74_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-74_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-74_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-BankAccount-106 transform="translate(121.44921875, 104)"><g class="basic label-container"><path d="M-113.44921875 -96 L113.44921875 -96 L113.44921875 96 L-113.44921875 96" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-113.44921875 -96 C-45.08090937514467 -96, 23.287399999710658 -96, 113.44921875 -96 M-113.44921875 -96 C-48.224005211475614 -96, 17.001208327048772 -96, 113.44921875 -96 M113.44921875 -96 C113.44921875 -54.91789528451665, 113.44921875 -13.835790569033307, 113.44921875 96 M113.44921875 -96 C113.44921875 -37.16461055430452, 113.44921875 21.670778891390967, 113.44921875 96 M113.44921875 96 C66.80461015146932 96, 20.160001552938652 96, -113.44921875 96 M113.44921875 96 C35.04023336407127 96, -43.36875202185746 96, -113.44921875 96 M-113.44921875 96 C-113.44921875 40.13503784275288, -113.44921875 -15.729924314494241, -113.44921875 -96 M-113.44921875 96 C-113.44921875 55.82745062510509, -113.44921875 15.654901250210173, -113.44921875 -96" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-48.53125, -72)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=97.0625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:151px;text-align:center><span class="nodeLabel markdown-node-label"><p>BankAccount</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-101.44921875, -24)"><g class=label transform=translate(0,-12)><foreignobject width=98.984375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:167px;text-align:center><span class="nodeLabel markdown-node-label"><p>+String owner</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=147.2265625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:217px;text-align:center><span class="nodeLabel markdown-node-label"><p>+Bigdecimal balance</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-101.44921875, 48)"><g class=label transform=translate(0,-12)><foreignobject width=126.765625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:197px;text-align:center><span class="nodeLabel markdown-node-label"><p>+deposit(amount)</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=154.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:223px;text-align:center><span class="nodeLabel markdown-node-label"><p>+withdrawal(amount)</p></span></div></foreignobject></g></g><g class=divider><path d="M-113.44921875 -48 C-66.64449748388415 -48, -19.83977621776829 -48, 113.44921875 -48 M-113.44921875 -48 C-47.84747157908734 -48, 17.75427559182532 -48, 113.44921875 -48" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-113.44921875 24 C-48.61248884660576 24, 16.224241056788486 24, 113.44921875 24 M-113.44921875 24 C-49.370632602287614 24, 14.707953545424772 24, 113.44921875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g><text text-anchor=middle x=121.44921875 y=-25 class=classDiagramTitleText>Bank example</text></svg> <span style=display:none>h77gjo</span></div><h2 id=define-a-class tabindex=-1>定义一个类 <a class=header-anchor href=#define-a-class aria-label='Permalink to "定义一个类 {#define-a-class}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Define a class<p>定义类有两种方法：<p class="p-off p-en sf-hidden">¥There are two ways to define a class:<ul><li><p>显式使用关键字 class（如 <code>class Animal</code>）来定义 Animal 类。<p class="p-off p-en sf-hidden">¥Explicitly using keyword like which would define the Animal class.</p><li><p>通过一次定义两个类及其关系的关系。例如，<code>Vehicle &lt;|-- Car</code>。<p class="p-off p-en sf-hidden">¥Via a which defines two classes at a time along with their relationship. For instance, .</p></ul><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class Animal
    Vehicle &lt;|-- Car
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-105 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:219.9609375px viewBox="0 0 219.9609375 234" role="graphics-document document" aria-roledescription=class><style>#mermaid-105{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-105 .edge-pattern-solid{stroke-dasharray:0}#mermaid-105 p{margin:0}#mermaid-105 .nodeLabel,#mermaid-105 .edgeLabel{color:#e0dfdf}#mermaid-105 .labelBkg{background:#1f2020}#mermaid-105 .edgeLabel .label span{background:#1f2020}#mermaid-105 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-105 .divider{stroke:#ccc;stroke-width:1}#mermaid-105 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-105 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-105 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-105 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-105 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-105 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-105 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-105 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-105 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-105 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-105 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-105 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-105_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-105_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-105_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-105_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M172.652,110L172.652,111.167C172.652,112.333,172.652,114.667,172.652,120C172.652,125.333,172.652,133.667,172.652,137.833L172.652,142 id=id_Vehicle_Car_1 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-105_class-extensionStart)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-Animal-107 transform="translate(45.671875, 50)"><g class="basic label-container"><path d="M-37.671875 -42 L37.671875 -42 L37.671875 42 L-37.671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-37.671875 -42 C-11.955612696221532 -42, 13.760649607556935 -42, 37.671875 -42 M-37.671875 -42 C-14.69181422101272 -42, 8.28824655797456 -42, 37.671875 -42 M37.671875 -42 C37.671875 -12.425693160280868, 37.671875 17.148613679438263, 37.671875 42 M37.671875 -42 C37.671875 -13.22070731757307, 37.671875 15.558585364853862, 37.671875 42 M37.671875 42 C17.77888652257722 42, -2.114101954845559 42, -37.671875 42 M37.671875 42 C21.815638296014548 42, 5.959401592029092 42, -37.671875 42 M-37.671875 42 C-37.671875 15.384060389540934, -37.671875 -11.231879220918131, -37.671875 -42 M-37.671875 42 C-37.671875 9.182097048824637, -37.671875 -23.635805902350725, -37.671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.671875, 30)"></g><g class="methods-group text" transform="translate(-25.671875, 60)"></g><g class=divider><path d="M-37.671875 6 C-7.900891684497619 6, 21.87009163100476 6, 37.671875 6 M-37.671875 6 C-18.566298485918413 6, 0.5392780281631744 6, 37.671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-37.671875 24 C-9.873349216668647 24, 17.925176566662707 24, 37.671875 24 M-37.671875 24 C-7.816635258115543 24, 22.038604483768914 24, 37.671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Vehicle-108 transform="translate(172.65234375, 50)"><g class="basic label-container"><path d="M-39.30859375 -42 L39.30859375 -42 L39.30859375 42 L-39.30859375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.30859375 -42 C-16.516140267454535 -42, 6.27631321509093 -42, 39.30859375 -42 M-39.30859375 -42 C-10.095180558624634 -42, 19.118232632750733 -42, 39.30859375 -42 M39.30859375 -42 C39.30859375 -19.865976942287766, 39.30859375 2.268046115424468, 39.30859375 42 M39.30859375 -42 C39.30859375 -10.195333189651947, 39.30859375 21.609333620696106, 39.30859375 42 M39.30859375 42 C22.161873800367538 42, 5.015153850735075 42, -39.30859375 42 M39.30859375 42 C15.6537468089662 42, -8.001100132067599 42, -39.30859375 42 M-39.30859375 42 C-39.30859375 13.981125117801955, -39.30859375 -14.03774976439609, -39.30859375 -42 M-39.30859375 42 C-39.30859375 13.65697313474378, -39.30859375 -14.686053730512441, -39.30859375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.30859375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=54.6171875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:105px;text-align:center><span class="nodeLabel markdown-node-label"><p>Vehicle</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.30859375, 30)"></g><g class="methods-group text" transform="translate(-27.30859375, 60)"></g><g class=divider><path d="M-39.30859375 6 C-22.181651941457183 6, -5.054710132914366 6, 39.30859375 6 M-39.30859375 6 C-23.33852171989524 6, -7.368449689790481 6, 39.30859375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.30859375 24 C-18.959456065269706 24, 1.389681619460589 24, 39.30859375 24 M-39.30859375 24 C-15.796572364871448 24, 7.715449020257104 24, 39.30859375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Car-109 transform="translate(172.65234375, 184)"><g class="basic label-container"><path d="M-24.57421875 -42 L24.57421875 -42 L24.57421875 42 L-24.57421875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-24.57421875 -42 C-9.827626819253634 -42, 4.9189651114927315 -42, 24.57421875 -42 M-24.57421875 -42 C-11.246662844119234 -42, 2.0808930617615324 -42, 24.57421875 -42 M24.57421875 -42 C24.57421875 -11.09726261305222, 24.57421875 19.80547477389556, 24.57421875 42 M24.57421875 -42 C24.57421875 -17.580327013894284, 24.57421875 6.839345972211433, 24.57421875 42 M24.57421875 42 C10.261335744998231 42, -4.051547260003538 42, -24.57421875 42 M24.57421875 42 C8.22492572914728 42, -8.12436729170544 42, -24.57421875 42 M-24.57421875 42 C-24.57421875 23.827315539240956, -24.57421875 5.654631078481913, -24.57421875 -42 M-24.57421875 42 C-24.57421875 18.9126236787902, -24.57421875 -4.174752642419598, -24.57421875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-12.57421875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=25.1484375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:77px;text-align:center><span class="nodeLabel markdown-node-label"><p>Car</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-12.57421875, 30)"></g><g class="methods-group text" transform="translate(-12.57421875, 60)"></g><g class=divider><path d="M-24.57421875 6 C-11.403655336054936 6, 1.766908077890129 6, 24.57421875 6 M-24.57421875 6 C-14.507130850271528 6, -4.440042950543056 6, 24.57421875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-24.57421875 24 C-11.660435279590038 24, 1.2533481908199242 24, 24.57421875 24 M-24.57421875 24 C-8.513149042461741 24, 7.547920665076518 24, 24.57421875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>db7j99</span></div><p>命名约定：类名只能由字母数字字符（包括 unicode）、下划线和短划线 (-) 组成。<p class="p-off p-en sf-hidden">¥Naming convention: a class name should be composed only of alphanumeric characters (including unicode), underscores, and dashes (-).<h3 id=class-labels tabindex=-1>类别标签 <a class=header-anchor href=#class-labels aria-label='Permalink to "类别标签 {#class-labels}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Class labels<p>如果你需要为类提供标签，可以使用以下语法：<p class="p-off p-en sf-hidden">¥In case you need to provide a label for a class, you can use the following syntax:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class Animal["Animal with a label"]
    class Car["Car with *! symbols"]
    Animal --&gt; Car
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-124 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:184.6875px viewBox="0 0 184.6875 234" role="graphics-document document" aria-roledescription=class><style>#mermaid-124{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-124 .edge-pattern-solid{stroke-dasharray:0}#mermaid-124 p{margin:0}#mermaid-124 .nodeLabel,#mermaid-124 .edgeLabel{color:#e0dfdf}#mermaid-124 .labelBkg{background:#1f2020}#mermaid-124 .edgeLabel .label span{background:#1f2020}#mermaid-124 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-124 .divider{stroke:#ccc;stroke-width:1}#mermaid-124 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-124 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-124 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-124 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-124 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-124 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-124 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-124 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-124 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-124 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-124 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-124 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-124_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-124_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-124_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-124_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M92.344,92L92.344,96.167C92.344,100.333,92.344,108.667,92.344,116C92.344,123.333,92.344,129.667,92.344,132.833L92.344,136 id=id_Animal_Car_1 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-124_class-dependencyEnd)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-Animal-110 transform="translate(92.34375, 50)"><g class="basic label-container"><path d="M-83.96484375 -42 L83.96484375 -42 L83.96484375 42 L-83.96484375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-83.96484375 -42 C-17.89424761371025 -42, 48.1763485225795 -42, 83.96484375 -42 M-83.96484375 -42 C-31.75180113203482 -42, 20.46124148593036 -42, 83.96484375 -42 M83.96484375 -42 C83.96484375 -12.319016437984512, 83.96484375 17.361967124030976, 83.96484375 42 M83.96484375 -42 C83.96484375 -16.549657842136842, 83.96484375 8.900684315726316, 83.96484375 42 M83.96484375 42 C19.928471408316526 42, -44.10790093336695 42, -83.96484375 42 M83.96484375 42 C36.695518104461826 42, -10.573807541076349 42, -83.96484375 42 M-83.96484375 42 C-83.96484375 9.257183657914318, -83.96484375 -23.485632684171364, -83.96484375 -42 M-83.96484375 42 C-83.96484375 13.155031439109877, -83.96484375 -15.689937121780247, -83.96484375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-71.96484375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=143.9296875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:196px;text-align:center><span class="nodeLabel markdown-node-label"><p>Animal with a label</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-71.96484375, 30)"></g><g class="methods-group text" transform="translate(-71.96484375, 60)"></g><g class=divider><path d="M-83.96484375 6 C-23.829217580870342 6, 36.306408588259316 6, 83.96484375 6 M-83.96484375 6 C-32.207004515983606 6, 19.55083471803279 6, 83.96484375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-83.96484375 24 C-49.49872316974375 24, -15.032602589487496 24, 83.96484375 24 M-83.96484375 24 C-48.367795859565234 24, -12.770747969130468 24, 83.96484375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Car-111 transform="translate(92.34375, 184)"><g class="basic label-container"><path d="M-84.34375 -42 L84.34375 -42 L84.34375 42 L-84.34375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-84.34375 -42 C-31.213885246088324 -42, 21.91597950782335 -42, 84.34375 -42 M-84.34375 -42 C-47.75211664283078 -42, -11.160483285661556 -42, 84.34375 -42 M84.34375 -42 C84.34375 -14.426787915717174, 84.34375 13.146424168565652, 84.34375 42 M84.34375 -42 C84.34375 -17.508710645539967, 84.34375 6.982578708920066, 84.34375 42 M84.34375 42 C45.17006769879847 42, 5.996385397596939 42, -84.34375 42 M84.34375 42 C45.13767385416881 42, 5.93159770833762 42, -84.34375 42 M-84.34375 42 C-84.34375 17.371469436982963, -84.34375 -7.257061126034074, -84.34375 -42 M-84.34375 42 C-84.34375 17.10703122819058, -84.34375 -7.785937543618843, -84.34375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-72.34375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=144.6875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:198px;text-align:center><span class="nodeLabel markdown-node-label"><p>Car with *! symbols</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-72.34375, 30)"></g><g class="methods-group text" transform="translate(-72.34375, 60)"></g><g class=divider><path d="M-84.34375 6 C-44.82470262901426 6, -5.305655258028523 6, 84.34375 6 M-84.34375 6 C-24.59643080131915 6, 35.1508883973617 6, 84.34375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-84.34375 24 C-27.79384539005609 24, 28.756059219887817 24, 84.34375 24 M-84.34375 24 C-23.091137161545646 24, 38.16147567690871 24, 84.34375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>jka1za</span></div><p>你还可以使用反引号来转义标签中的特殊字符：<p class="p-off p-en sf-hidden">¥You can also use backticks to escape special characters in the label:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class `Animal Class!`
    class `Car Class`
    `Animal Class!` --&gt; `Car Class`
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-131 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:138.8515625px viewBox="0 0 138.8515625 234" role="graphics-document document" aria-roledescription=class><style>#mermaid-131{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-131 .edge-pattern-solid{stroke-dasharray:0}#mermaid-131 p{margin:0}#mermaid-131 .nodeLabel,#mermaid-131 .edgeLabel{color:#e0dfdf}#mermaid-131 .labelBkg{background:#1f2020}#mermaid-131 .edgeLabel .label span{background:#1f2020}#mermaid-131 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-131 .divider{stroke:#ccc;stroke-width:1}#mermaid-131 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-131 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-131 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-131 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-131 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-131 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-131 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-131 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-131 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-131 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-131 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-131 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-131_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-131_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-131_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-131_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M69.426,92L69.426,96.167C69.426,100.333,69.426,108.667,69.426,116C69.426,123.333,69.426,129.667,69.426,132.833L69.426,136 id="id_Animal Class!_Car Class_1" class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-131_class-dependencyEnd)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id="classId-Animal Class!-112" transform="translate(69.42578125, 50)"><g class="basic label-container"><path d="M-61.42578125 -42 L61.42578125 -42 L61.42578125 42 L-61.42578125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-61.42578125 -42 C-32.83637885745374 -42, -4.246976464907476 -42, 61.42578125 -42 M-61.42578125 -42 C-30.218532339460115 -42, 0.9887165710797703 -42, 61.42578125 -42 M61.42578125 -42 C61.42578125 -13.928050378156172, 61.42578125 14.143899243687656, 61.42578125 42 M61.42578125 -42 C61.42578125 -23.772827469136544, 61.42578125 -5.545654938273088, 61.42578125 42 M61.42578125 42 C17.911700743332126 42, -25.602379763335747 42, -61.42578125 42 M61.42578125 42 C15.10510572606664 42, -31.21556979786672 42, -61.42578125 42 M-61.42578125 42 C-61.42578125 21.766897299653838, -61.42578125 1.5337945993076758, -61.42578125 -42 M-61.42578125 42 C-61.42578125 20.438791985759952, -61.42578125 -1.122416028480096, -61.42578125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-49.42578125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=98.8515625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:152px;text-align:center><span class="nodeLabel markdown-node-label"><p>Animal Class!</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-49.42578125, 30)"></g><g class="methods-group text" transform="translate(-49.42578125, 60)"></g><g class=divider><path d="M-61.42578125 6 C-13.698241451575214 6, 34.02929834684957 6, 61.42578125 6 M-61.42578125 6 C-17.122778231360186 6, 27.180224787279627 6, 61.42578125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-61.42578125 24 C-32.1370259760529 24, -2.8482707021058005 24, 61.42578125 24 M-61.42578125 24 C-12.840794985412515 24, 35.74419127917497 24, 61.42578125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id="classId-Car Class-113" transform="translate(69.42578125, 184)"><g class="basic label-container"><path d="M-45.390625 -42 L45.390625 -42 L45.390625 42 L-45.390625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-45.390625 -42 C-10.014008017977233 -42, 25.362608964045535 -42, 45.390625 -42 M-45.390625 -42 C-16.291041123678546 -42, 12.808542752642907 -42, 45.390625 -42 M45.390625 -42 C45.390625 -24.90117068534998, 45.390625 -7.802341370699963, 45.390625 42 M45.390625 -42 C45.390625 -20.57003039777925, 45.390625 0.8599392044415026, 45.390625 42 M45.390625 42 C21.498030373675284 42, -2.394564252649431 42, -45.390625 42 M45.390625 42 C10.811908512472833 42, -23.766807975054334 42, -45.390625 42 M-45.390625 42 C-45.390625 16.179175393348682, -45.390625 -9.641649213302635, -45.390625 -42 M-45.390625 42 C-45.390625 20.42066165435778, -45.390625 -1.158676691284441, -45.390625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-33.390625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=66.78125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:122px;text-align:center><span class="nodeLabel markdown-node-label"><p>Car Class</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-33.390625, 30)"></g><g class="methods-group text" transform="translate(-33.390625, 60)"></g><g class=divider><path d="M-45.390625 6 C-9.405326784520206 6, 26.57997143095959 6, 45.390625 6 M-45.390625 6 C-27.00853902954526 6, -8.626453059090522 6, 45.390625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-45.390625 24 C-14.3506826511206 24, 16.6892596977588 24, 45.390625 24 M-45.390625 24 C-22.90883919029408 24, -0.42705338058816267 24, 45.390625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>vyq0q</span></div><h2 id=defining-members-of-a-class tabindex=-1>定义类的成员 <a class=header-anchor href=#defining-members-of-a-class aria-label='Permalink to "定义类的成员 {#defining-members-of-a-class}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Defining Members of a class<p>UML 提供了表示类成员（例如属性和方法）的机制，以及有关它们的附加信息。<p class="p-off p-en sf-hidden">¥UML provides mechanisms to represent class members such as attributes and methods, as well as additional information about them.<p>Mermaid 根据括号 <code>()</code> 是否存在来区分属性和函数/方法。带有 <code>()</code> 的被视为函数/方法，所有其他被视为属性。<p class="p-off p-en sf-hidden">¥Mermaid distinguishes between attributes and functions/methods based on if the are present or not. The ones with are treated as functions/methods, and all others as attributes.<p>有两种方法可以定义类的成员，无论使用哪种语法来定义成员，输出仍然是相同的。两种不同的方式是：<p class="p-off p-en sf-hidden">¥There are two ways to define the members of a class, and regardless of whichever syntax is used to define the members, the output will still be same. The two different ways are :<ul><li><p>使用 :（冒号）后跟成员名称来关联类的成员，这对于一次定义一个成员很有用。例如：<p class="p-off p-en sf-hidden">¥Associate a member of a class using (colon) followed by member name, useful to define one member at a time. For example:</p></ul><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class BankAccount
BankAccount : +String owner
BankAccount : +BigDecimal balance
BankAccount : +deposit(amount)
BankAccount : +withdrawal(amount)
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-166 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:242.8984375px viewBox="0 0 242.8984375 208" role="graphics-document document" aria-roledescription=class><style>#mermaid-166{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-166 p{margin:0}#mermaid-166 .nodeLabel{color:#e0dfdf}#mermaid-166 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-166 .divider{stroke:#ccc;stroke-width:1}#mermaid-166 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-166 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-166 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-166 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-166 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-166 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-166 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-166 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-166 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-166 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-166 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-166_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-166_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-166_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-166_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-BankAccount-114 transform="translate(121.44921875, 104)"><g class="basic label-container"><path d="M-113.44921875 -96 L113.44921875 -96 L113.44921875 96 L-113.44921875 96" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-113.44921875 -96 C-44.053699837638334 -96, 25.341819074723333 -96, 113.44921875 -96 M-113.44921875 -96 C-27.650058772478033 -96, 58.149101205043934 -96, 113.44921875 -96 M113.44921875 -96 C113.44921875 -27.713438251831334, 113.44921875 40.57312349633733, 113.44921875 96 M113.44921875 -96 C113.44921875 -37.18814798195372, 113.44921875 21.623704036092562, 113.44921875 96 M113.44921875 96 C35.604035985350066 96, -42.24114677929987 96, -113.44921875 96 M113.44921875 96 C58.27990663430334 96, 3.110594518606675 96, -113.44921875 96 M-113.44921875 96 C-113.44921875 25.876659366220338, -113.44921875 -44.246681267559325, -113.44921875 -96 M-113.44921875 96 C-113.44921875 26.773646823157634, -113.44921875 -42.45270635368473, -113.44921875 -96" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-48.53125, -72)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=97.0625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:151px;text-align:center><span class="nodeLabel markdown-node-label"><p>BankAccount</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-101.44921875, -24)"><g class=label transform=translate(0,-12)><foreignobject width=98.984375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:167px;text-align:center><span class="nodeLabel markdown-node-label"><p>+String owner</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=148.125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:219px;text-align:center><span class="nodeLabel markdown-node-label"><p>+BigDecimal balance</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-101.44921875, 48)"><g class=label transform=translate(0,-12)><foreignobject width=126.765625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:197px;text-align:center><span class="nodeLabel markdown-node-label"><p>+deposit(amount)</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=154.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:223px;text-align:center><span class="nodeLabel markdown-node-label"><p>+withdrawal(amount)</p></span></div></foreignobject></g></g><g class=divider><path d="M-113.44921875 -48 C-54.59562007542755 -48, 4.257978599144906 -48, 113.44921875 -48 M-113.44921875 -48 C-53.32015849029237 -48, 6.808901769415257 -48, 113.44921875 -48" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-113.44921875 24 C-35.691913223825765 24, 42.06539230234847 24, 113.44921875 24 M-113.44921875 24 C-46.02258528107821 24, 21.404048187843586 24, 113.44921875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>egl3jj</span></div><ul><li><p>使用 {} 括号关联类的成员，其中成员分组在大括号内。适合一次定义多个成员。例如：<p class="p-off p-en sf-hidden">¥Associate members of a class using brackets, where members are grouped within curly brackets. Suitable for defining multiple members at once. For example:</p></ul><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class BankAccount{
    +String owner
    +BigDecimal balance
    +deposit(amount)
    +withdrawal(amount)
}
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-177 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:242.8984375px viewBox="0 0 242.8984375 208" role="graphics-document document" aria-roledescription=class><style>#mermaid-177{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-177 p{margin:0}#mermaid-177 .nodeLabel{color:#e0dfdf}#mermaid-177 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-177 .divider{stroke:#ccc;stroke-width:1}#mermaid-177 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-177 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-177 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-177 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-177 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-177 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-177 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-177 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-177 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-177 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-177 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-177_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-177_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-177_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-177_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-BankAccount-115 transform="translate(121.44921875, 104)"><g class="basic label-container"><path d="M-113.44921875 -96 L113.44921875 -96 L113.44921875 96 L-113.44921875 96" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-113.44921875 -96 C-36.32084713093792 -96, 40.80752448812416 -96, 113.44921875 -96 M-113.44921875 -96 C-52.819876033037175 -96, 7.809466683925649 -96, 113.44921875 -96 M113.44921875 -96 C113.44921875 -51.51576407759643, 113.44921875 -7.031528155192859, 113.44921875 96 M113.44921875 -96 C113.44921875 -26.27510437085992, 113.44921875 43.44979125828016, 113.44921875 96 M113.44921875 96 C39.44405209286927 96, -34.56111456426146 96, -113.44921875 96 M113.44921875 96 C64.9505474043267 96, 16.451876058653397 96, -113.44921875 96 M-113.44921875 96 C-113.44921875 40.70808514398277, -113.44921875 -14.583829712034458, -113.44921875 -96 M-113.44921875 96 C-113.44921875 35.68015620207031, -113.44921875 -24.639687595859385, -113.44921875 -96" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-48.53125, -72)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=97.0625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:151px;text-align:center><span class="nodeLabel markdown-node-label"><p>BankAccount</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-101.44921875, -24)"><g class=label transform=translate(0,-12)><foreignobject width=98.984375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:167px;text-align:center><span class="nodeLabel markdown-node-label"><p>+String owner</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=148.125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:219px;text-align:center><span class="nodeLabel markdown-node-label"><p>+BigDecimal balance</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-101.44921875, 48)"><g class=label transform=translate(0,-12)><foreignobject width=126.765625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:197px;text-align:center><span class="nodeLabel markdown-node-label"><p>+deposit(amount)</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=154.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:223px;text-align:center><span class="nodeLabel markdown-node-label"><p>+withdrawal(amount)</p></span></div></foreignobject></g></g><g class=divider><path d="M-113.44921875 -48 C-40.49467789578776 -48, 32.45986295842448 -48, 113.44921875 -48 M-113.44921875 -48 C-56.52466566721384 -48, 0.3998874155723229 -48, 113.44921875 -48" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-113.44921875 24 C-66.45758259022428 24, -19.465946430448554 24, 113.44921875 24 M-113.44921875 24 C-52.070811802159504 24, 9.307595145680992 24, 113.44921875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>0ufi0l</span></div><h4 id=return-type tabindex=-1>返回类型 <a class=header-anchor href=#return-type aria-label='Permalink to "返回类型 {#return-type}"'>​</a></h4><p class="p-off p-en sf-hidden">¥Return Type<p>或者，你可以使用将返回的数据类型来结束方法/函数定义（注意：最终的 <code>)</code> 和返回类型之间必须有空格）。一个例子：<p class="p-off p-en sf-hidden">¥Optionally you can end a method/function definition with the data type that will be returned (note: there must be a space between the final and the return type). An example:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class BankAccount{
    +String owner
    +BigDecimal balance
    +deposit(amount) bool
    +withdrawal(amount) int
}
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-190 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:278.0625px viewBox="0 0 278.0625 208" role="graphics-document document" aria-roledescription=class><style>#mermaid-190{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-190 p{margin:0}#mermaid-190 .nodeLabel{color:#e0dfdf}#mermaid-190 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-190 .divider{stroke:#ccc;stroke-width:1}#mermaid-190 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-190 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-190 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-190 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-190 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-190 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-190 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-190 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-190 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-190 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-190 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-190_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-190_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-190_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-190_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-BankAccount-116 transform="translate(139.03125, 104)"><g class="basic label-container"><path d="M-131.03125 -96 L131.03125 -96 L131.03125 96 L-131.03125 96" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-131.03125 -96 C-57.409349039857105 -96, 16.21255192028579 -96, 131.03125 -96 M-131.03125 -96 C-70.97198665576136 -96, -10.912723311522711 -96, 131.03125 -96 M131.03125 -96 C131.03125 -53.255741657895854, 131.03125 -10.511483315791708, 131.03125 96 M131.03125 -96 C131.03125 -36.643730215244396, 131.03125 22.712539569511208, 131.03125 96 M131.03125 96 C49.319945306987265 96, -32.39135938602547 96, -131.03125 96 M131.03125 96 C53.20726302861796 96, -24.616723942764082 96, -131.03125 96 M-131.03125 96 C-131.03125 21.101891028860734, -131.03125 -53.79621794227853, -131.03125 -96 M-131.03125 96 C-131.03125 38.883877745587014, -131.03125 -18.23224450882597, -131.03125 -96" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -72)"></g><g class="label-group text" transform="translate(-48.53125, -72)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=97.0625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:151px;text-align:center><span class="nodeLabel markdown-node-label"><p>BankAccount</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-119.03125, -24)"><g class=label transform=translate(0,-12)><foreignobject width=98.984375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:167px;text-align:center><span class="nodeLabel markdown-node-label"><p>+String owner</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=148.125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:219px;text-align:center><span class="nodeLabel markdown-node-label"><p>+BigDecimal balance</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-119.03125, 48)"><g class=label transform=translate(0,-12)><foreignobject width=173.0859375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:245px;text-align:center><span class="nodeLabel markdown-node-label"><p>+deposit(amount) : bool</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=189.53125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:256px;text-align:center><span class="nodeLabel markdown-node-label"><p>+withdrawal(amount) : int</p></span></div></foreignobject></g></g><g class=divider><path d="M-131.03125 -48 C-56.65320015636908 -48, 17.724849687261838 -48, 131.03125 -48 M-131.03125 -48 C-67.94224301800067 -48, -4.853236036001334 -48, 131.03125 -48" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-131.03125 24 C-73.83485290111 24, -16.638455802219994 24, 131.03125 24 M-131.03125 24 C-62.743713066487416 24, 5.543823867025168 24, 131.03125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>ik98pi</span></div><h4 id=generic-types tabindex=-1>通用类型 <a class=header-anchor href=#generic-types aria-label='Permalink to "通用类型 {#generic-types}"'>​</a></h4><p class="p-off p-en sf-hidden">¥Generic Types<p>泛型可以表示为类定义的一部分，也可以表示为类成员/返回类型。为了将该项目表示为通用项，请将该类型括在 <code>~</code>（波形符）内。支持嵌套类型声明（例如 <code>List&lt;List&lt;int&gt;&gt;</code>），但当前不支持包含逗号的泛型。（如 <code>List&lt;List&lt;K, V&gt;&gt;</code>）<p class="p-off p-en sf-hidden">¥Generics can be represented as part of a class definition, and for class members/return types. In order to denote an item as generic, you enclose that type within (). type declarations such as are supported, though generics that include a comma are currently not supported. (such as )<blockquote><p>请注意，当在类定义中使用泛型时，泛型类型不被视为类名称的一部分。IE。：对于任何需要引用类名的语法，你需要删除定义的类型部分。这也意味着 mermaid 目前不支持两个具有相同名称但泛型类型不同的类。<p class="p-off p-en sf-hidden">¥ when a generic is used within a class definition, the generic type is NOT considered part of the class name. i.e.: for any syntax which required you to reference the class name, you need to drop the type part of the definition. This also means that mermaid does not currently support having two classes with the same name, but different generic types.</p></blockquote><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class Square~Shape~{
    int id
    List~int~ position
    setPoints(List~int~ points)
    getPoints() List~int~
}

Square : -List~string~ messages
Square : +setMessages(List~string~ messages)
Square : +getMessages() List~string~
Square : +getDistanceMatrix() List~List~int~~
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-211 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:366.3203125px viewBox="0 0 366.3203125 304" role="graphics-document document" aria-roledescription=class><style>#mermaid-211{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-211 p{margin:0}#mermaid-211 .nodeLabel{color:#e0dfdf}#mermaid-211 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-211 .divider{stroke:#ccc;stroke-width:1}#mermaid-211 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-211 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-211 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-211 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-211 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-211 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-211 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-211 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-211 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-211 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-211 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-211_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-211_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-211_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-211_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Square-117 transform="translate(183.16015625, 152)"><g class="basic label-container"><path d="M-175.16015625 -144 L175.16015625 -144 L175.16015625 144 L-175.16015625 144" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-175.16015625 -144 C-103.67313335493533 -144, -32.18611045987066 -144, 175.16015625 -144 M-175.16015625 -144 C-73.52926687325827 -144, 28.10162250348347 -144, 175.16015625 -144 M175.16015625 -144 C175.16015625 -53.5231831861019, 175.16015625 36.953633627796194, 175.16015625 144 M175.16015625 -144 C175.16015625 -54.747236867799174, 175.16015625 34.50552626440165, 175.16015625 144 M175.16015625 144 C45.4393537670058 144, -84.2814487159884 144, -175.16015625 144 M175.16015625 144 C76.32074596081695 144, -22.5186643283661 144, -175.16015625 144 M-175.16015625 144 C-175.16015625 75.59050261277056, -175.16015625 7.181005225541128, -175.16015625 -144 M-175.16015625 144 C-175.16015625 83.37430817107493, -175.16015625 22.74861634214986, -175.16015625 -144" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -120)"></g><g class="label-group text" transform="translate(-57.4921875, -120)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=114.984375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:212px;text-align:center><span class="nodeLabel markdown-node-label"><p>Square&lt;Shape&gt;</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-163.16015625, -72)"><g class=label transform=translate(0,-12)><foreignobject width=37.9453125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:89px;text-align:center><span class="nodeLabel markdown-node-label"><p>int id</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=123.5078125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:225px;text-align:center><span class="nodeLabel markdown-node-label"><p>List&lt;int&gt; position</p></span></div></foreignobject></g><g class=label transform=translate(0,36)><foreignobject width=159.9375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:275px;text-align:center><span class="nodeLabel markdown-node-label"><p>-List&lt;string&gt; messages</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-163.16015625, 24)"><g class=label transform=translate(0,-12)><foreignobject width=186.5390625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:290px;text-align:center><span class="nodeLabel markdown-node-label"><p>setPoints(List&lt;int&gt; points)</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=155.1640625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:254px;text-align:center><span class="nodeLabel markdown-node-label"><p>getPoints() : List&lt;int&gt;</p></span></div></foreignobject></g><g class=label transform=translate(0,36)><foreignobject width=260.421875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:388px;text-align:center><span class="nodeLabel markdown-node-label"><p>+setMessages(List&lt;string&gt; messages)</p></span></div></foreignobject></g><g class=label transform=translate(0,60)><foreignobject width=206.0703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:325px;text-align:center><span class="nodeLabel markdown-node-label"><p>+getMessages() : List&lt;string&gt;</p></span></div></foreignobject></g><g class=label transform=translate(0,84)><foreignobject width=268.828125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:429px;text-align:center><span class="nodeLabel markdown-node-label"><p>+getDistanceMatrix() : List&lt;List&lt;int&gt;&gt;</p></span></div></foreignobject></g></g><g class=divider><path d="M-175.16015625 -96 C-64.95181114266302 -96, 45.25653396467396 -96, 175.16015625 -96 M-175.16015625 -96 C-63.27789186013278 -96, 48.604372529734434 -96, 175.16015625 -96" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-175.16015625 0 C-40.63673640956938 0, 93.88668343086124 0, 175.16015625 0 M-175.16015625 0 C-93.01230496990445 0, -10.864453689808897 0, 175.16015625 0" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>09h3fj</span></div><h4 id=visibility tabindex=-1>能见度 <a class=header-anchor href=#visibility aria-label='Permalink to "能见度 {#visibility}"'>​</a></h4><p class="p-off p-en sf-hidden">¥Visibility<p>为了描述属于类（即类成员）的属性或方法/函数的可见性（或封装），可以在该成员名称之前放置可选的符号：<p class="p-off p-en sf-hidden">¥To describe the visibility (or encapsulation) of an attribute or method/function that is a part of a class (i.e. a class member), optional notation may be placed before that members' name:<ul><li><p><code>+</code> 民众<p class="p-off p-en sf-hidden">¥ Public</p><li><p><code>-</code> 私有的<p class="p-off p-en sf-hidden">¥ Private</p><li><p><code>#</code> 受保护<p class="p-off p-en sf-hidden">¥ Protected</p><li><p><code>~</code> 封装/内部<p class="p-off p-en sf-hidden">¥ Package/Internal</p></ul><blockquote><p>请注意，你还可以通过在方法末尾添加以下符号来在方法定义中包含其他分类器，即：在 <code>()</code> 或返回类型之后：<p class="p-off p-en sf-hidden">¥ you can also include additional to a method definition by adding the following notation to the of the method, i.e.: after the or after the return type:<ul><li><p><code>*</code> 摘要例如：<code>someAbstractMethod()*</code> 或 <code>someAbstractMethod() int*</code><p class="p-off p-en sf-hidden">¥ Abstract e.g.: or </p><li><p><code>$</code> 静态例如：<code>someStaticMethod()$</code> 或 <code>someStaticMethod() String$</code><p class="p-off p-en sf-hidden">¥ Static e.g.: or </p></ul></blockquote><blockquote><p>请注意，你还可以通过在末尾添加以下符号来在字段定义中包含其他分类器：<p class="p-off p-en sf-hidden">¥ you can also include additional to a field definition by adding the following notation to the very end:<ul><li><p><code>$</code> 静态例如：<code>String someField$</code><p class="p-off p-en sf-hidden">¥ Static e.g.: </p></ul></blockquote><h2 id=defining-relationship tabindex=-1>定义关系 <a class=header-anchor href=#defining-relationship aria-label='Permalink to "定义关系 {#defining-relationship}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Defining Relationship<p>关系是一个通用术语，涵盖类图和对象图上发现的特定类型的逻辑连接。<p class="p-off p-en sf-hidden">¥A relationship is a general term covering the specific types of logical connections found on class and object diagrams.<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>[classA][Arrow][ClassB]</span></span></code></pre></div><p>目前支持的 UML 下为类定义了八种不同类型的关系：<p class="p-off p-en sf-hidden">¥There are eight different types of relations defined for classes under UML which are currently supported:<table tabindex=0><thead><tr><th>类型<th>描述<tbody><tr><td><code>&lt;|--</code><td>继承<tr><td><code>*--</code><td>作品<tr><td><code>o--</code><td>聚合<tr><td><code>--&gt;</code><td>关联<tr><td><code>--</code><td>链接（实心）<tr><td><code>..&gt;</code><td>依赖<tr><td><code>..|&gt;</code><td>实现<tr><td><code>..</code><td>链接（虚线）</table><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
classA &lt;|-- classB
classC *-- classD
classE o-- classF
classG &lt;-- classH
classI -- classJ
classK &lt;.. classL
classM &lt;|.. classN
classO .. classP

</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-399 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:921.18359375px viewBox="0 0 921.18359375 234" role="graphics-document document" aria-roledescription=class><style>#mermaid-399{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-399 .edge-pattern-solid{stroke-dasharray:0}#mermaid-399 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-399 p{margin:0}#mermaid-399 .nodeLabel,#mermaid-399 .edgeLabel{color:#e0dfdf}#mermaid-399 .labelBkg{background:#1f2020}#mermaid-399 .edgeLabel .label span{background:#1f2020}#mermaid-399 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-399 .divider{stroke:#ccc;stroke-width:1}#mermaid-399 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-399 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-399 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-399 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-399 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-399 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-399 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-399 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-399 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-399 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-399 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-399 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-399_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-399_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-399_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-399_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M42.672,110L42.672,111.167C42.672,112.333,42.672,114.667,42.672,120C42.672,125.333,42.672,133.667,42.672,137.833L42.672,142 id=id_classA_classB_1 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-399_class-extensionStart)></path><path d=M161.844,110L161.844,111.167C161.844,112.333,161.844,114.667,161.844,120C161.844,125.333,161.844,133.667,161.844,137.833L161.844,142 id=id_classC_classD_2 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-399_class-compositionStart)></path><path d=M280.863,110L280.863,111.167C280.863,112.333,280.863,114.667,280.863,120C280.863,125.333,280.863,133.667,280.863,137.833L280.863,142 id=id_classE_classF_3 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-399_class-aggregationStart)></path><path d=M400.211,98L400.211,101.167C400.211,104.333,400.211,110.667,400.211,118C400.211,125.333,400.211,133.667,400.211,137.833L400.211,142 id=id_classG_classH_4 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-399_class-dependencyStart)></path><path d=M519.152,92L519.152,96.167C519.152,100.333,519.152,108.667,519.152,117C519.152,125.333,519.152,133.667,519.152,137.833L519.152,142 id=id_classI_classJ_5 class="edge-thickness-normal edge-pattern-solid relation"></path><path d=M637.047,98L637.047,101.167C637.047,104.333,637.047,110.667,637.047,118C637.047,125.333,637.047,133.667,637.047,137.833L637.047,142 id=id_classK_classL_6 class="edge-thickness-normal edge-pattern-dashed relation" marker-start=url(#mermaid-399_class-dependencyStart)></path><path d=M757.156,110L757.156,111.167C757.156,112.333,757.156,114.667,757.156,120C757.156,125.333,757.156,133.667,757.156,137.833L757.156,142 id=id_classM_classN_7 class="edge-thickness-normal edge-pattern-dashed relation" marker-start=url(#mermaid-399_class-extensionStart)></path><path d=M877.953,92L877.953,96.167C877.953,100.333,877.953,108.667,877.953,117C877.953,125.333,877.953,133.667,877.953,137.833L877.953,142 id=id_classO_classP_8 class="edge-thickness-normal edge-pattern-dashed relation"></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-classA-118 transform="translate(42.671875, 50)"><g class="basic label-container"><path d="M-34.671875 -42 L34.671875 -42 L34.671875 42 L-34.671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.671875 -42 C-8.662994183142139 -42, 17.345886633715722 -42, 34.671875 -42 M-34.671875 -42 C-16.241586625118014 -42, 2.188701749763972 -42, 34.671875 -42 M34.671875 -42 C34.671875 -12.631295139831376, 34.671875 16.737409720337247, 34.671875 42 M34.671875 -42 C34.671875 -21.63402573110176, 34.671875 -1.2680514622035233, 34.671875 42 M34.671875 42 C13.809258260368196 42, -7.053358479263608 42, -34.671875 42 M34.671875 42 C7.387151448566019 42, -19.89757210286796 42, -34.671875 42 M-34.671875 42 C-34.671875 9.087301045292087, -34.671875 -23.825397909415827, -34.671875 -42 M-34.671875 42 C-34.671875 19.234282140721742, -34.671875 -3.5314357185565157, -34.671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classA</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.671875, 30)"></g><g class="methods-group text" transform="translate(-22.671875, 60)"></g><g class=divider><path d="M-34.671875 6 C-14.878245012171309 6, 4.915384975657382 6, 34.671875 6 M-34.671875 6 C-18.041556187792324 6, -1.4112373755846477 6, 34.671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.671875 24 C-16.515048292204497 24, 1.6417784155910056 24, 34.671875 24 M-34.671875 24 C-16.292611075053788 24, 2.086652849892424 24, 34.671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classB-119 transform="translate(42.671875, 184)"><g class="basic label-container"><path d="M-34.3671875 -42 L34.3671875 -42 L34.3671875 42 L-34.3671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.3671875 -42 C-7.599418074055521 -42, 19.16835135188896 -42, 34.3671875 -42 M-34.3671875 -42 C-11.931453930254975 -42, 10.50427963949005 -42, 34.3671875 -42 M34.3671875 -42 C34.3671875 -24.526275318990393, 34.3671875 -7.0525506379807865, 34.3671875 42 M34.3671875 -42 C34.3671875 -18.935366324974858, 34.3671875 4.129267350050284, 34.3671875 42 M34.3671875 42 C8.554755412576029 42, -17.257676674847943 42, -34.3671875 42 M34.3671875 42 C19.99807613281725 42, 5.6289647656345 42, -34.3671875 42 M-34.3671875 42 C-34.3671875 9.97838801968021, -34.3671875 -22.04322396063958, -34.3671875 -42 M-34.3671875 42 C-34.3671875 23.94112091498358, -34.3671875 5.882241829967157, -34.3671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.3671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.734375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classB</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.3671875, 30)"></g><g class="methods-group text" transform="translate(-22.3671875, 60)"></g><g class=divider><path d="M-34.3671875 6 C-12.03510055811244 6, 10.29698638377512 6, 34.3671875 6 M-34.3671875 6 C-11.148311033546339 6, 12.070565432907323 6, 34.3671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.3671875 24 C-18.371963064952148 24, -2.376738629904292 24, 34.3671875 24 M-34.3671875 24 C-17.291997128378334 24, -0.21680675675666805 24, 34.3671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classC-120 transform="translate(161.84375, 50)"><g class="basic label-container"><path d="M-34.5 -42 L34.5 -42 L34.5 42 L-34.5 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.5 -42 C-20.165695743412996 -42, -5.831391486825996 -42, 34.5 -42 M-34.5 -42 C-12.452259443179049 -42, 9.595481113641902 -42, 34.5 -42 M34.5 -42 C34.5 -20.38627745047824, 34.5 1.2274450990435213, 34.5 42 M34.5 -42 C34.5 -21.735622378372838, 34.5 -1.4712447567456763, 34.5 42 M34.5 42 C6.982014074677426 42, -20.535971850645147 42, -34.5 42 M34.5 42 C9.83386754638759 42, -14.832264907224818 42, -34.5 42 M-34.5 42 C-34.5 25.164755254281218, -34.5 8.329510508562436, -34.5 -42 M-34.5 42 C-34.5 15.994909993236053, -34.5 -10.010180013527894, -34.5 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.5, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classC</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.5, 30)"></g><g class="methods-group text" transform="translate(-22.5, 60)"></g><g class=divider><path d="M-34.5 6 C-8.883309071332608 6, 16.733381857334784 6, 34.5 6 M-34.5 6 C-15.370998180740752 6, 3.7580036385184954 6, 34.5 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.5 24 C-12.86594845515923 24, 8.768103089681539 24, 34.5 24 M-34.5 24 C-8.848115510405144 24, 16.803768979189712 24, 34.5 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classD-121 transform="translate(161.84375, 184)"><g class="basic label-container"><path d="M-34.74609375 -42 L34.74609375 -42 L34.74609375 42 L-34.74609375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.74609375 -42 C-10.109612176541045 -42, 14.52686939691791 -42, 34.74609375 -42 M-34.74609375 -42 C-13.516281996106795 -42, 7.713529757786411 -42, 34.74609375 -42 M34.74609375 -42 C34.74609375 -11.517110258537635, 34.74609375 18.96577948292473, 34.74609375 42 M34.74609375 -42 C34.74609375 -21.19347018985421, 34.74609375 -0.3869403797084203, 34.74609375 42 M34.74609375 42 C19.125674135954757 42, 3.5052545219095137 42, -34.74609375 42 M34.74609375 42 C7.250474750109273 42, -20.245144249781454 42, -34.74609375 42 M-34.74609375 42 C-34.74609375 23.124567840304643, -34.74609375 4.249135680609285, -34.74609375 -42 M-34.74609375 42 C-34.74609375 10.04144501491919, -34.74609375 -21.91710997016162, -34.74609375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.74609375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.4921875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classD</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.74609375, 30)"></g><g class="methods-group text" transform="translate(-22.74609375, 60)"></g><g class=divider><path d="M-34.74609375 6 C-11.742193298010545 6, 11.26170715397891 6, 34.74609375 6 M-34.74609375 6 C-14.577959255388478 6, 5.5901752392230435 6, 34.74609375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.74609375 24 C-14.930371512849621 24, 4.885350724300757 24, 34.74609375 24 M-34.74609375 24 C-16.9573311978761 24, 0.8314313542477976 24, 34.74609375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classE-122 transform="translate(280.86328125, 50)"><g class="basic label-container"><path d="M-34.15625 -42 L34.15625 -42 L34.15625 42 L-34.15625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.15625 -42 C-15.708046800666448 -42, 2.7401563986671036 -42, 34.15625 -42 M-34.15625 -42 C-7.658146583548604 -42, 18.839956832902793 -42, 34.15625 -42 M34.15625 -42 C34.15625 -18.431305182488124, 34.15625 5.137389635023752, 34.15625 42 M34.15625 -42 C34.15625 -18.781971289503712, 34.15625 4.436057420992576, 34.15625 42 M34.15625 42 C7.696331619727879 42, -18.763586760544243 42, -34.15625 42 M34.15625 42 C18.6079133518351 42, 3.059576703670203 42, -34.15625 42 M-34.15625 42 C-34.15625 11.827766647121539, -34.15625 -18.344466705756922, -34.15625 -42 M-34.15625 42 C-34.15625 12.003530303901321, -34.15625 -17.992939392197357, -34.15625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.15625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.3125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classE</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.15625, 30)"></g><g class="methods-group text" transform="translate(-22.15625, 60)"></g><g class=divider><path d="M-34.15625 6 C-14.711846924801968 6, 4.732556150396064 6, 34.15625 6 M-34.15625 6 C-12.878131471011553 6, 8.399987057976894 6, 34.15625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.15625 24 C-8.541114904936205 24, 17.07402019012759 24, 34.15625 24 M-34.15625 24 C-7.293527465030845 24, 19.56919506993831 24, 34.15625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classF-123 transform="translate(280.86328125, 184)"><g class="basic label-container"><path d="M-34.2734375 -42 L34.2734375 -42 L34.2734375 42 L-34.2734375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.2734375 -42 C-7.263299940505632 -42, 19.746837618988735 -42, 34.2734375 -42 M-34.2734375 -42 C-17.619160800924604 -42, -0.9648841018492078 -42, 34.2734375 -42 M34.2734375 -42 C34.2734375 -23.46415559060643, 34.2734375 -4.928311181212862, 34.2734375 42 M34.2734375 -42 C34.2734375 -17.474141870829456, 34.2734375 7.051716258341088, 34.2734375 42 M34.2734375 42 C8.870332166541282 42, -16.532773166917437 42, -34.2734375 42 M34.2734375 42 C18.194241710882608 42, 2.1150459217652156 42, -34.2734375 42 M-34.2734375 42 C-34.2734375 18.88183769516613, -34.2734375 -4.23632460966774, -34.2734375 -42 M-34.2734375 42 C-34.2734375 12.723109340793112, -34.2734375 -16.553781318413776, -34.2734375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.2734375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.546875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classF</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.2734375, 30)"></g><g class="methods-group text" transform="translate(-22.2734375, 60)"></g><g class=divider><path d="M-34.2734375 6 C-19.16698127312911 6, -4.060525046258217 6, 34.2734375 6 M-34.2734375 6 C-17.755035730155104 6, -1.2366339603102077 6, 34.2734375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.2734375 24 C-17.30155012151931 24, -0.3296627430386181 24, 34.2734375 24 M-34.2734375 24 C-10.610506260085227 24, 13.052424979829546 24, 34.2734375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classG-124 transform="translate(400.2109375, 50)"><g class="basic label-container"><path d="M-34.9765625 -42 L34.9765625 -42 L34.9765625 42 L-34.9765625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.9765625 -42 C-17.089637881339502 -42, 0.7972867373209951 -42, 34.9765625 -42 M-34.9765625 -42 C-17.159002618311604 -42, 0.6585572633767924 -42, 34.9765625 -42 M34.9765625 -42 C34.9765625 -18.929776368450508, 34.9765625 4.140447263098984, 34.9765625 42 M34.9765625 -42 C34.9765625 -18.538807229005357, 34.9765625 4.922385541989286, 34.9765625 42 M34.9765625 42 C20.1160694829331 42, 5.255576465866195 42, -34.9765625 42 M34.9765625 42 C15.006721441838398 42, -4.963119616323205 42, -34.9765625 42 M-34.9765625 42 C-34.9765625 17.677423675334236, -34.9765625 -6.6451526493315285, -34.9765625 -42 M-34.9765625 42 C-34.9765625 21.61827170780244, -34.9765625 1.2365434156048778, -34.9765625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.9765625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classG</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.9765625, 30)"></g><g class="methods-group text" transform="translate(-22.9765625, 60)"></g><g class=divider><path d="M-34.9765625 6 C-20.221630897175316 6, -5.4666992943506365 6, 34.9765625 6 M-34.9765625 6 C-20.71364078609387 6, -6.450719072187738 6, 34.9765625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.9765625 24 C-15.208802639002638 24, 4.558957221994724 24, 34.9765625 24 M-34.9765625 24 C-17.479593863659193 24, 0.017374772681613138 24, 34.9765625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classH-125 transform="translate(400.2109375, 184)"><g class="basic label-container"><path d="M-35.07421875 -42 L35.07421875 -42 L35.07421875 42 L-35.07421875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.07421875 -42 C-19.180639004270034 -42, -3.287059258540065 -42, 35.07421875 -42 M-35.07421875 -42 C-13.907779186634212 -42, 7.2586603767315765 -42, 35.07421875 -42 M35.07421875 -42 C35.07421875 -22.643916003185684, 35.07421875 -3.2878320063713673, 35.07421875 42 M35.07421875 -42 C35.07421875 -10.740667339354431, 35.07421875 20.518665321291138, 35.07421875 42 M35.07421875 42 C12.79502289240044 42, -9.484172965199122 42, -35.07421875 42 M35.07421875 42 C8.639353344405368 42, -17.795512061189264 42, -35.07421875 42 M-35.07421875 42 C-35.07421875 20.75509952865374, -35.07421875 -0.4898009426925185, -35.07421875 -42 M-35.07421875 42 C-35.07421875 8.974811120375257, -35.07421875 -24.050377759249486, -35.07421875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.07421875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=46.1484375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classH</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.07421875, 30)"></g><g class="methods-group text" transform="translate(-23.07421875, 60)"></g><g class=divider><path d="M-35.07421875 6 C-15.751122707137519 6, 3.5719733357249623 6, 35.07421875 6 M-35.07421875 6 C-10.447496056080698 6, 14.179226637838603 6, 35.07421875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.07421875 24 C-13.751197266526518 24, 7.571824216946965 24, 35.07421875 24 M-35.07421875 24 C-7.298245985772379 24, 20.477726778455242 24, 35.07421875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classI-126 transform="translate(519.15234375, 50)"><g class="basic label-container"><path d="M-31.83203125 -42 L31.83203125 -42 L31.83203125 42 L-31.83203125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-31.83203125 -42 C-7.249595168851034 -42, 17.332840912297932 -42, 31.83203125 -42 M-31.83203125 -42 C-17.275291893392378 -42, -2.7185525367847525 -42, 31.83203125 -42 M31.83203125 -42 C31.83203125 -10.377390453940162, 31.83203125 21.245219092119676, 31.83203125 42 M31.83203125 -42 C31.83203125 -9.940546605072988, 31.83203125 22.118906789854023, 31.83203125 42 M31.83203125 42 C13.860060239069856 42, -4.111910771860288 42, -31.83203125 42 M31.83203125 42 C11.04701200847947 42, -9.73800723304106 42, -31.83203125 42 M-31.83203125 42 C-31.83203125 19.417198060549552, -31.83203125 -3.165603878900896, -31.83203125 -42 M-31.83203125 42 C-31.83203125 13.26732932881415, -31.83203125 -15.465341342371701, -31.83203125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-19.83203125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=39.6640625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:93px;text-align:center><span class="nodeLabel markdown-node-label"><p>classI</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-19.83203125, 30)"></g><g class="methods-group text" transform="translate(-19.83203125, 60)"></g><g class=divider><path d="M-31.83203125 6 C-10.925648682403434 6, 9.980733885193132 6, 31.83203125 6 M-31.83203125 6 C-15.463901753179094 6, 0.9042277436418118 6, 31.83203125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-31.83203125 24 C-12.35983414299653 24, 7.112362964006941 24, 31.83203125 24 M-31.83203125 24 C-9.549414259968426 24, 12.733202730063148 24, 31.83203125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classJ-127 transform="translate(519.15234375, 184)"><g class="basic label-container"><path d="M-33.8671875 -42 L33.8671875 -42 L33.8671875 42 L-33.8671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-33.8671875 -42 C-12.724030273987093 -42, 8.419126952025813 -42, 33.8671875 -42 M-33.8671875 -42 C-17.91274424004434 -42, -1.9583009800886835 -42, 33.8671875 -42 M33.8671875 -42 C33.8671875 -23.293346780139256, 33.8671875 -4.586693560278512, 33.8671875 42 M33.8671875 -42 C33.8671875 -23.218390208024037, 33.8671875 -4.436780416048073, 33.8671875 42 M33.8671875 42 C12.772300943671148 42, -8.322585612657704 42, -33.8671875 42 M33.8671875 42 C19.83716137447146 42, 5.80713524894292 42, -33.8671875 42 M-33.8671875 42 C-33.8671875 17.97561297125894, -33.8671875 -6.04877405748212, -33.8671875 -42 M-33.8671875 42 C-33.8671875 13.544798572943886, -33.8671875 -14.910402854112228, -33.8671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-21.8671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=43.734375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classJ</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-21.8671875, 30)"></g><g class="methods-group text" transform="translate(-21.8671875, 60)"></g><g class=divider><path d="M-33.8671875 6 C-14.057324411179888 6, 5.752538677640224 6, 33.8671875 6 M-33.8671875 6 C-13.034466181685548 6, 7.798255136628903 6, 33.8671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-33.8671875 24 C-9.386536700497146 24, 15.094114099005708 24, 33.8671875 24 M-33.8671875 24 C-8.824388835971874 24, 16.218409828056252 24, 33.8671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classK-128 transform="translate(637.046875, 50)"><g class="basic label-container"><path d="M-34.54296875 -42 L34.54296875 -42 L34.54296875 42 L-34.54296875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.54296875 -42 C-16.604560678070012 -42, 1.3338473938599762 -42, 34.54296875 -42 M-34.54296875 -42 C-13.829011468819399 -42, 6.884945812361202 -42, 34.54296875 -42 M34.54296875 -42 C34.54296875 -22.925423682653914, 34.54296875 -3.8508473653078283, 34.54296875 42 M34.54296875 -42 C34.54296875 -19.892958014197074, 34.54296875 2.2140839716058522, 34.54296875 42 M34.54296875 42 C8.338903294153862 42, -17.865162161692275 42, -34.54296875 42 M34.54296875 42 C12.886805488944582 42, -8.769357772110837 42, -34.54296875 42 M-34.54296875 42 C-34.54296875 16.889246424169226, -34.54296875 -8.221507151661548, -34.54296875 -42 M-34.54296875 42 C-34.54296875 22.189492374198537, -34.54296875 2.378984748397073, -34.54296875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.54296875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.0859375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classK</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.54296875, 30)"></g><g class="methods-group text" transform="translate(-22.54296875, 60)"></g><g class=divider><path d="M-34.54296875 6 C-12.991044097558312 6, 8.560880554883376 6, 34.54296875 6 M-34.54296875 6 C-11.794560327648725 6, 10.95384809470255 6, 34.54296875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.54296875 24 C-19.547169932420584 24, -4.551371114841167 24, 34.54296875 24 M-34.54296875 24 C-19.13035095073252 24, -3.7177331514650405 24, 34.54296875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classL-129 transform="translate(637.046875, 184)"><g class="basic label-container"><path d="M-34.02734375 -42 L34.02734375 -42 L34.02734375 42 L-34.02734375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.02734375 -42 C-19.878251209728212 -42, -5.729158669456421 -42, 34.02734375 -42 M-34.02734375 -42 C-13.45371807675513 -42, 7.119907596489739 -42, 34.02734375 -42 M34.02734375 -42 C34.02734375 -22.166482635167046, 34.02734375 -2.3329652703340926, 34.02734375 42 M34.02734375 -42 C34.02734375 -23.91549956934791, 34.02734375 -5.830999138695823, 34.02734375 42 M34.02734375 42 C15.837578980450981 42, -2.352185789098037 42, -34.02734375 42 M34.02734375 42 C12.128612990420322 42, -9.770117769159356 42, -34.02734375 42 M-34.02734375 42 C-34.02734375 13.719024180543858, -34.02734375 -14.561951638912284, -34.02734375 -42 M-34.02734375 42 C-34.02734375 9.400071757914027, -34.02734375 -23.199856484171946, -34.02734375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.02734375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.0546875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>classL</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.02734375, 30)"></g><g class="methods-group text" transform="translate(-22.02734375, 60)"></g><g class=divider><path d="M-34.02734375 6 C-7.125539312773391 6, 19.776265124453218 6, 34.02734375 6 M-34.02734375 6 C-15.821326112413129 6, 2.384691525173743 6, 34.02734375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.02734375 24 C-17.623672490528435 24, -1.2200012310568695 24, 34.02734375 24 M-34.02734375 24 C-18.625584657879035 24, -3.2238255657580694 24, 34.02734375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classM-130 transform="translate(757.15625, 50)"><g class="basic label-container"><path d="M-35.56640625 -42 L35.56640625 -42 L35.56640625 42 L-35.56640625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.56640625 -42 C-7.658159418113357 -42, 20.250087413773286 -42, 35.56640625 -42 M-35.56640625 -42 C-15.334862972648988 -42, 4.8966803047020235 -42, 35.56640625 -42 M35.56640625 -42 C35.56640625 -22.80403942471777, 35.56640625 -3.608078849435543, 35.56640625 42 M35.56640625 -42 C35.56640625 -13.335895696730898, 35.56640625 15.328208606538205, 35.56640625 42 M35.56640625 42 C13.210342534796908 42, -9.145721180406184 42, -35.56640625 42 M35.56640625 42 C14.93863011213174 42, -5.68914602573652 42, -35.56640625 42 M-35.56640625 42 C-35.56640625 15.866654137598157, -35.56640625 -10.266691724803685, -35.56640625 -42 M-35.56640625 42 C-35.56640625 21.029655967984894, -35.56640625 0.05931193596978801, -35.56640625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.56640625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=47.1328125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>classM</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.56640625, 30)"></g><g class="methods-group text" transform="translate(-23.56640625, 60)"></g><g class=divider><path d="M-35.56640625 6 C-8.450455608895677 6, 18.665495032208646 6, 35.56640625 6 M-35.56640625 6 C-17.82304522418366 6, -0.07968419836731755 6, 35.56640625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.56640625 24 C-9.984286745317426 24, 15.597832759365147 24, 35.56640625 24 M-35.56640625 24 C-21.33560265062998 24, -7.10479905125996 24, 35.56640625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classN-131 transform="translate(757.15625, 184)"><g class="basic label-container"><path d="M-34.9453125 -42 L34.9453125 -42 L34.9453125 42 L-34.9453125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.9453125 -42 C-19.22736364846252 -42, -3.509414796925043 -42, 34.9453125 -42 M-34.9453125 -42 C-18.134990065130758 -42, -1.3246676302615157 -42, 34.9453125 -42 M34.9453125 -42 C34.9453125 -21.49783290952196, 34.9453125 -0.9956658190439214, 34.9453125 42 M34.9453125 -42 C34.9453125 -15.71267909911326, 34.9453125 10.574641801773481, 34.9453125 42 M34.9453125 42 C18.64032184046537 42, 2.335331180930737 42, -34.9453125 42 M34.9453125 42 C10.8828247656871 42, -13.179662968625799 42, -34.9453125 42 M-34.9453125 42 C-34.9453125 15.667435582960966, -34.9453125 -10.665128834078068, -34.9453125 -42 M-34.9453125 42 C-34.9453125 12.539606996174513, -34.9453125 -16.920786007650975, -34.9453125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.9453125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.890625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classN</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.9453125, 30)"></g><g class="methods-group text" transform="translate(-22.9453125, 60)"></g><g class=divider><path d="M-34.9453125 6 C-17.09751862097411 6, 0.7502752580517793 6, 34.9453125 6 M-34.9453125 6 C-11.79652865428211 6, 11.35225519143578 6, 34.9453125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.9453125 24 C-9.263696634055826 24, 16.417919231888348 24, 34.9453125 24 M-34.9453125 24 C-13.260541016250944 24, 8.424230467498113 24, 34.9453125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classO-132 transform="translate(877.953125, 50)"><g class="basic label-container"><path d="M-35.23046875 -42 L35.23046875 -42 L35.23046875 42 L-35.23046875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.23046875 -42 C-14.018290675155988 -42, 7.193887399688023 -42, 35.23046875 -42 M-35.23046875 -42 C-14.850953199208956 -42, 5.528562351582089 -42, 35.23046875 -42 M35.23046875 -42 C35.23046875 -13.98045608031078, 35.23046875 14.039087839378439, 35.23046875 42 M35.23046875 -42 C35.23046875 -10.395310407581157, 35.23046875 21.209379184837687, 35.23046875 42 M35.23046875 42 C8.001161928219119 42, -19.228144893561762 42, -35.23046875 42 M35.23046875 42 C9.861535082487794 42, -15.507398585024411 42, -35.23046875 42 M-35.23046875 42 C-35.23046875 23.65756064203016, -35.23046875 5.315121284060318, -35.23046875 -42 M-35.23046875 42 C-35.23046875 20.52108602338273, -35.23046875 -0.957827953234542, -35.23046875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.23046875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=46.4609375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:101px;text-align:center><span class="nodeLabel markdown-node-label"><p>classO</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.23046875, 30)"></g><g class="methods-group text" transform="translate(-23.23046875, 60)"></g><g class=divider><path d="M-35.23046875 6 C-14.5834963212174 6, 6.063476107565201 6, 35.23046875 6 M-35.23046875 6 C-12.911888057240624 6, 9.406692635518752 6, 35.23046875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.23046875 24 C-10.437192850823894 24, 14.356083048352211 24, 35.23046875 24 M-35.23046875 24 C-10.007029317724676 24, 15.216410114550648 24, 35.23046875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classP-133 transform="translate(877.953125, 184)"><g class="basic label-container"><path d="M-34.30078125 -42 L34.30078125 -42 L34.30078125 42 L-34.30078125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.30078125 -42 C-15.273595541910243 -42, 3.7535901661795137 -42, 34.30078125 -42 M-34.30078125 -42 C-6.867815364400336 -42, 20.565150521199328 -42, 34.30078125 -42 M34.30078125 -42 C34.30078125 -21.009338783340656, 34.30078125 -0.01867756668131193, 34.30078125 42 M34.30078125 -42 C34.30078125 -18.821762422757434, 34.30078125 4.356475154485132, 34.30078125 42 M34.30078125 42 C16.29768027135739 42, -1.7054207072852208 42, -34.30078125 42 M34.30078125 42 C9.572049423579212 42, -15.156682402841575 42, -34.30078125 42 M-34.30078125 42 C-34.30078125 24.44729287887291, -34.30078125 6.894585757745823, -34.30078125 -42 M-34.30078125 42 C-34.30078125 12.648055496519053, -34.30078125 -16.703889006961894, -34.30078125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.30078125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.6015625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classP</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.30078125, 30)"></g><g class="methods-group text" transform="translate(-22.30078125, 60)"></g><g class=divider><path d="M-34.30078125 6 C-7.406311384054245 6, 19.48815848189151 6, 34.30078125 6 M-34.30078125 6 C-17.153166373478932 6, -0.005551496957863833 6, 34.30078125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.30078125 24 C-20.398715321961667 24, -6.4966493939233345 24, 34.30078125 24 M-34.30078125 24 C-9.530952636093769 24, 15.238875977812462 24, 34.30078125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>b43dhi9</span></div><p>我们可以使用标签来描述两个类之间关系的性质。此外，箭头也可以用于相反的方向：<p class="p-off p-en sf-hidden">¥We can use the labels to describe the nature of the relation between two classes. Also, arrowheads can be used in the opposite direction as well:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
classA --|&gt; classB : Inheritance
classC --* classD : Composition
classE --o classF : Aggregation
classG --&gt; classH : Association
classI -- classJ : Link(Solid)
classK ..&gt; classL : Dependency
classM ..|&gt; classN : Realization
classO .. classP : Link(Dashed)

</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-406 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:938.2265625px viewBox="0 0 938.2265625 258" role="graphics-document document" aria-roledescription=class><style>#mermaid-406{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-406 .edge-pattern-solid{stroke-dasharray:0}#mermaid-406 .edge-pattern-dashed{stroke-dasharray:3}#mermaid-406 p{margin:0}#mermaid-406 .nodeLabel,#mermaid-406 .edgeLabel{color:#e0dfdf}#mermaid-406 .labelBkg{background:#1f2020}#mermaid-406 .edgeLabel .label span{background:#1f2020}#mermaid-406 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-406 .divider{stroke:#ccc;stroke-width:1}#mermaid-406 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-406 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-406 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-406 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-406 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-406 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-406 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-406 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-406 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-406 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-406 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-406 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-406_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-406_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-406_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-406_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M48.793,92L48.793,98.167C48.793,104.333,48.793,116.667,48.793,126C48.793,135.333,48.793,141.667,48.793,144.833L48.793,148 id=id_classA_classB_1 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-406_class-extensionEnd)></path><path d=M167.965,92L167.965,98.167C167.965,104.333,167.965,116.667,167.965,126C167.965,135.333,167.965,141.667,167.965,144.833L167.965,148 id=id_classC_classD_2 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-406_class-compositionEnd)></path><path d=M286.984,92L286.984,98.167C286.984,104.333,286.984,116.667,286.984,126C286.984,135.333,286.984,141.667,286.984,144.833L286.984,148 id=id_classE_classF_3 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-406_class-aggregationEnd)></path><path d=M406.332,92L406.332,98.167C406.332,104.333,406.332,116.667,406.332,128C406.332,139.333,406.332,149.667,406.332,154.833L406.332,160 id=id_classG_classH_4 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-406_class-dependencyEnd)></path><path d=M525.273,92L525.273,98.167C525.273,104.333,525.273,116.667,525.273,129C525.273,141.333,525.273,153.667,525.273,159.833L525.273,166 id=id_classI_classJ_5 class="edge-thickness-normal edge-pattern-solid relation"></path><path d=M643.168,92L643.168,98.167C643.168,104.333,643.168,116.667,643.168,128C643.168,139.333,643.168,149.667,643.168,154.833L643.168,160 id=id_classK_classL_6 class="edge-thickness-normal edge-pattern-dashed relation" marker-end=url(#mermaid-406_class-dependencyEnd)></path><path d=M763.277,92L763.277,98.167C763.277,104.333,763.277,116.667,763.277,126C763.277,135.333,763.277,141.667,763.277,144.833L763.277,148 id=id_classM_classN_7 class="edge-thickness-normal edge-pattern-dashed relation" marker-end=url(#mermaid-406_class-extensionEnd)></path><path d=M884.074,92L884.074,98.167C884.074,104.333,884.074,116.667,884.074,129C884.074,141.333,884.074,153.667,884.074,159.833L884.074,166 id=id_classO_classP_8 class="edge-thickness-normal edge-pattern-dashed relation"></path></g><g class=edgeLabels><g class=edgeLabel transform="translate(48.79296875, 129)"><g class=label transform="translate(-40.79296875, -12)"><foreignobject width=81.5859375 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Inheritance</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(167.96484375, 129)"><g class=label transform="translate(-44.10546875, -12)"><foreignobject width=88.2109375 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Composition</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(286.984375, 129)"><g class=label transform="translate(-42.55859375, -12)"><foreignobject width=85.1171875 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Aggregation</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(406.33203125, 129)"><g class=label transform="translate(-40.05078125, -12)"><foreignobject width=80.1015625 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Association</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(525.2734375, 129)"><g class=label transform="translate(-37.8515625, -12)"><foreignobject width=75.703125 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Link(Solid)</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(643.16796875, 129)"><g class=label transform="translate(-43.55859375, -12)"><foreignobject width=87.1171875 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Dependency</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(763.27734375, 129)"><g class=label transform="translate(-39.65625, -12)"><foreignobject width=79.3125 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Realization</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(884.07421875, 129)"><g class=label transform="translate(-46.15234375, -12)"><foreignobject width=92.3046875 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Link(Dashed)</p></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-classA-134 transform="translate(48.79296875, 50)"><g class="basic label-container"><path d="M-34.671875 -42 L34.671875 -42 L34.671875 42 L-34.671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.671875 -42 C-18.777508892820563 -42, -2.883142785641123 -42, 34.671875 -42 M-34.671875 -42 C-11.946780904691302 -42, 10.778313190617396 -42, 34.671875 -42 M34.671875 -42 C34.671875 -15.186943658779171, 34.671875 11.626112682441658, 34.671875 42 M34.671875 -42 C34.671875 -14.780679712157227, 34.671875 12.438640575685547, 34.671875 42 M34.671875 42 C16.50025410872026 42, -1.6713667825594811 42, -34.671875 42 M34.671875 42 C15.008340225841668 42, -4.655194548316665 42, -34.671875 42 M-34.671875 42 C-34.671875 17.832288440704843, -34.671875 -6.335423118590313, -34.671875 -42 M-34.671875 42 C-34.671875 11.225229152205323, -34.671875 -19.549541695589355, -34.671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classA</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.671875, 30)"></g><g class="methods-group text" transform="translate(-22.671875, 60)"></g><g class=divider><path d="M-34.671875 6 C-15.953557376002934 6, 2.7647602479941327 6, 34.671875 6 M-34.671875 6 C-19.371999523297166 6, -4.0721240465943325 6, 34.671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.671875 24 C-19.910491884004948 24, -5.149108768009892 24, 34.671875 24 M-34.671875 24 C-18.75206908249473 24, -2.832263164989463 24, 34.671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classB-135 transform="translate(48.79296875, 208)"><g class="basic label-container"><path d="M-34.3671875 -42 L34.3671875 -42 L34.3671875 42 L-34.3671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.3671875 -42 C-15.70700712119907 -42, 2.9531732576018612 -42, 34.3671875 -42 M-34.3671875 -42 C-13.73300537314535 -42, 6.901176753709301 -42, 34.3671875 -42 M34.3671875 -42 C34.3671875 -16.7730449361218, 34.3671875 8.453910127756401, 34.3671875 42 M34.3671875 -42 C34.3671875 -21.42114955762114, 34.3671875 -0.8422991152422767, 34.3671875 42 M34.3671875 42 C15.489273976662574 42, -3.3886395466748525 42, -34.3671875 42 M34.3671875 42 C7.858849773512951 42, -18.6494879529741 42, -34.3671875 42 M-34.3671875 42 C-34.3671875 20.08527320302767, -34.3671875 -1.8294535939446632, -34.3671875 -42 M-34.3671875 42 C-34.3671875 14.311700150184386, -34.3671875 -13.376599699631228, -34.3671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.3671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.734375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classB</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.3671875, 30)"></g><g class="methods-group text" transform="translate(-22.3671875, 60)"></g><g class=divider><path d="M-34.3671875 6 C-16.434548362399628 6, 1.498090775200744 6, 34.3671875 6 M-34.3671875 6 C-15.493522709554863 6, 3.3801420808902733 6, 34.3671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.3671875 24 C-9.88999384093497 24, 14.58719981813006 24, 34.3671875 24 M-34.3671875 24 C-17.244844421834735 24, -0.12250134366946952 24, 34.3671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classC-136 transform="translate(167.96484375, 50)"><g class="basic label-container"><path d="M-34.5 -42 L34.5 -42 L34.5 42 L-34.5 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.5 -42 C-10.875247352066488 -42, 12.749505295867024 -42, 34.5 -42 M-34.5 -42 C-9.356536142655465 -42, 15.786927714689071 -42, 34.5 -42 M34.5 -42 C34.5 -12.268893203981332, 34.5 17.462213592037337, 34.5 42 M34.5 -42 C34.5 -14.372253789465919, 34.5 13.255492421068162, 34.5 42 M34.5 42 C11.719793701254222 42, -11.060412597491556 42, -34.5 42 M34.5 42 C12.148678197499493 42, -10.202643605001015 42, -34.5 42 M-34.5 42 C-34.5 12.393733288456122, -34.5 -17.212533423087756, -34.5 -42 M-34.5 42 C-34.5 18.126665008513143, -34.5 -5.746669982973714, -34.5 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.5, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classC</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.5, 30)"></g><g class="methods-group text" transform="translate(-22.5, 60)"></g><g class=divider><path d="M-34.5 6 C-17.194766150084774 6, 0.11046769983045124 6, 34.5 6 M-34.5 6 C-16.715592449280766 6, 1.0688151014384673 6, 34.5 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.5 24 C-17.595629596619673 24, -0.6912591932393468 24, 34.5 24 M-34.5 24 C-13.34594813278284 24, 7.808103734434319 24, 34.5 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classD-137 transform="translate(167.96484375, 208)"><g class="basic label-container"><path d="M-34.74609375 -42 L34.74609375 -42 L34.74609375 42 L-34.74609375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.74609375 -42 C-14.440929658740622 -42, 5.8642344325187565 -42, 34.74609375 -42 M-34.74609375 -42 C-10.908055491008202 -42, 12.929982767983596 -42, 34.74609375 -42 M34.74609375 -42 C34.74609375 -16.95881764930522, 34.74609375 8.082364701389558, 34.74609375 42 M34.74609375 -42 C34.74609375 -18.47024018169831, 34.74609375 5.059519636603383, 34.74609375 42 M34.74609375 42 C12.97332451823851 42, -8.79944471352298 42, -34.74609375 42 M34.74609375 42 C13.70249963686324 42, -7.341094476273518 42, -34.74609375 42 M-34.74609375 42 C-34.74609375 11.290249662740656, -34.74609375 -19.419500674518687, -34.74609375 -42 M-34.74609375 42 C-34.74609375 14.002305826518075, -34.74609375 -13.99538834696385, -34.74609375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.74609375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.4921875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classD</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.74609375, 30)"></g><g class="methods-group text" transform="translate(-22.74609375, 60)"></g><g class=divider><path d="M-34.74609375 6 C-13.216823452117055 6, 8.31244684576589 6, 34.74609375 6 M-34.74609375 6 C-20.397912766483177 6, -6.049731782966354 6, 34.74609375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.74609375 24 C-11.744215212948419 24, 11.257663324103163 24, 34.74609375 24 M-34.74609375 24 C-16.274915165200145 24, 2.1962634195997097 24, 34.74609375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classE-138 transform="translate(286.984375, 50)"><g class="basic label-container"><path d="M-34.15625 -42 L34.15625 -42 L34.15625 42 L-34.15625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.15625 -42 C-15.64898327140073 -42, 2.8582834571985387 -42, 34.15625 -42 M-34.15625 -42 C-16.065703063310266 -42, 2.024843873379467 -42, 34.15625 -42 M34.15625 -42 C34.15625 -17.588236921921222, 34.15625 6.8235261561575555, 34.15625 42 M34.15625 -42 C34.15625 -19.992073702603545, 34.15625 2.0158525947929107, 34.15625 42 M34.15625 42 C11.069214950746744 42, -12.017820098506512 42, -34.15625 42 M34.15625 42 C9.648049181401152 42, -14.860151637197696 42, -34.15625 42 M-34.15625 42 C-34.15625 21.339499644343796, -34.15625 0.6789992886875922, -34.15625 -42 M-34.15625 42 C-34.15625 12.976273508486969, -34.15625 -16.047452983026062, -34.15625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.15625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.3125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classE</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.15625, 30)"></g><g class="methods-group text" transform="translate(-22.15625, 60)"></g><g class=divider><path d="M-34.15625 6 C-19.759448582495274 6, -5.362647164990552 6, 34.15625 6 M-34.15625 6 C-17.061349278222714 6, 0.03355144355457185 6, 34.15625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.15625 24 C-18.687194615050544 24, -3.218139230101084 24, 34.15625 24 M-34.15625 24 C-15.97172687384312 24, 2.2127962523137583 24, 34.15625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classF-139 transform="translate(286.984375, 208)"><g class="basic label-container"><path d="M-34.2734375 -42 L34.2734375 -42 L34.2734375 42 L-34.2734375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.2734375 -42 C-18.435886491905254 -42, -2.5983354838105086 -42, 34.2734375 -42 M-34.2734375 -42 C-13.078501349906368 -42, 8.116434800187264 -42, 34.2734375 -42 M34.2734375 -42 C34.2734375 -20.730326371509438, 34.2734375 0.5393472569811237, 34.2734375 42 M34.2734375 -42 C34.2734375 -18.031795634338902, 34.2734375 5.936408731322196, 34.2734375 42 M34.2734375 42 C13.165589896879883 42, -7.942257706240234 42, -34.2734375 42 M34.2734375 42 C18.306717726842827 42, 2.33999795368565 42, -34.2734375 42 M-34.2734375 42 C-34.2734375 9.288247142645673, -34.2734375 -23.423505714708654, -34.2734375 -42 M-34.2734375 42 C-34.2734375 10.121436604303916, -34.2734375 -21.757126791392167, -34.2734375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.2734375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.546875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classF</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.2734375, 30)"></g><g class="methods-group text" transform="translate(-22.2734375, 60)"></g><g class=divider><path d="M-34.2734375 6 C-14.7645832580301 6, 4.744270983939799 6, 34.2734375 6 M-34.2734375 6 C-9.148291234407171 6, 15.976855031185657 6, 34.2734375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.2734375 24 C-9.429109126729049 24, 15.415219246541902 24, 34.2734375 24 M-34.2734375 24 C-18.13082372685026 24, -1.988209953700519 24, 34.2734375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classG-140 transform="translate(406.33203125, 50)"><g class="basic label-container"><path d="M-34.9765625 -42 L34.9765625 -42 L34.9765625 42 L-34.9765625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.9765625 -42 C-7.861335548630734 -42, 19.25389140273853 -42, 34.9765625 -42 M-34.9765625 -42 C-19.244752786334434 -42, -3.512943072668868 -42, 34.9765625 -42 M34.9765625 -42 C34.9765625 -21.342610900346347, 34.9765625 -0.6852218006926947, 34.9765625 42 M34.9765625 -42 C34.9765625 -10.652738227570737, 34.9765625 20.694523544858527, 34.9765625 42 M34.9765625 42 C19.521824157104675 42, 4.067085814209346 42, -34.9765625 42 M34.9765625 42 C17.19425087208582 42, -0.5880607558283586 42, -34.9765625 42 M-34.9765625 42 C-34.9765625 20.726684013870347, -34.9765625 -0.5466319722593056, -34.9765625 -42 M-34.9765625 42 C-34.9765625 21.901998991422623, -34.9765625 1.803997982845246, -34.9765625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.9765625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classG</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.9765625, 30)"></g><g class="methods-group text" transform="translate(-22.9765625, 60)"></g><g class=divider><path d="M-34.9765625 6 C-14.89390026073665 6, 5.188761978526699 6, 34.9765625 6 M-34.9765625 6 C-17.55519827879614 6, -0.1338340575922814 6, 34.9765625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.9765625 24 C-10.847626879064578 24, 13.281308741870845 24, 34.9765625 24 M-34.9765625 24 C-10.927473816272308 24, 13.121614867455385 24, 34.9765625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classH-141 transform="translate(406.33203125, 208)"><g class="basic label-container"><path d="M-35.07421875 -42 L35.07421875 -42 L35.07421875 42 L-35.07421875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.07421875 -42 C-15.718639915647298 -42, 3.636938918705404 -42, 35.07421875 -42 M-35.07421875 -42 C-7.242524648670155 -42, 20.58916945265969 -42, 35.07421875 -42 M35.07421875 -42 C35.07421875 -16.28124173148205, 35.07421875 9.437516537035897, 35.07421875 42 M35.07421875 -42 C35.07421875 -22.72021955322338, 35.07421875 -3.4404391064467603, 35.07421875 42 M35.07421875 42 C10.636433983187548 42, -13.801350783624905 42, -35.07421875 42 M35.07421875 42 C8.656211341892874 42, -17.761796066214252 42, -35.07421875 42 M-35.07421875 42 C-35.07421875 23.059050746197087, -35.07421875 4.118101492394175, -35.07421875 -42 M-35.07421875 42 C-35.07421875 17.07665465981599, -35.07421875 -7.84669068036802, -35.07421875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.07421875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=46.1484375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classH</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.07421875, 30)"></g><g class="methods-group text" transform="translate(-23.07421875, 60)"></g><g class=divider><path d="M-35.07421875 6 C-17.12321833560179 6, 0.8277820787964174 6, 35.07421875 6 M-35.07421875 6 C-16.966762313541967 6, 1.1406941229160665 6, 35.07421875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.07421875 24 C-14.8696397864909 24, 5.3349391770181995 24, 35.07421875 24 M-35.07421875 24 C-7.819406348574393 24, 19.435406052851214 24, 35.07421875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classI-142 transform="translate(525.2734375, 50)"><g class="basic label-container"><path d="M-31.83203125 -42 L31.83203125 -42 L31.83203125 42 L-31.83203125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-31.83203125 -42 C-7.267506652547816 -42, 17.29701794490437 -42, 31.83203125 -42 M-31.83203125 -42 C-13.165308216152756 -42, 5.501414817694489 -42, 31.83203125 -42 M31.83203125 -42 C31.83203125 -22.4541317384709, 31.83203125 -2.908263476941798, 31.83203125 42 M31.83203125 -42 C31.83203125 -18.335381599491274, 31.83203125 5.329236801017451, 31.83203125 42 M31.83203125 42 C11.565055035293607 42, -8.701921179412786 42, -31.83203125 42 M31.83203125 42 C13.111777590169833 42, -5.608476069660334 42, -31.83203125 42 M-31.83203125 42 C-31.83203125 13.495349421259217, -31.83203125 -15.009301157481566, -31.83203125 -42 M-31.83203125 42 C-31.83203125 23.697360155788314, -31.83203125 5.394720311576627, -31.83203125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-19.83203125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=39.6640625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:93px;text-align:center><span class="nodeLabel markdown-node-label"><p>classI</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-19.83203125, 30)"></g><g class="methods-group text" transform="translate(-19.83203125, 60)"></g><g class=divider><path d="M-31.83203125 6 C-9.51776267987189 6, 12.79650589025622 6, 31.83203125 6 M-31.83203125 6 C-9.70123612435114 6, 12.429559001297719 6, 31.83203125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-31.83203125 24 C-13.447817427897633 24, 4.936396394204735 24, 31.83203125 24 M-31.83203125 24 C-12.584298215489152 24, 6.663434819021695 24, 31.83203125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classJ-143 transform="translate(525.2734375, 208)"><g class="basic label-container"><path d="M-33.8671875 -42 L33.8671875 -42 L33.8671875 42 L-33.8671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-33.8671875 -42 C-12.946438387248445 -42, 7.974310725503109 -42, 33.8671875 -42 M-33.8671875 -42 C-12.231097926709968 -42, 9.404991646580065 -42, 33.8671875 -42 M33.8671875 -42 C33.8671875 -9.492825538621275, 33.8671875 23.01434892275745, 33.8671875 42 M33.8671875 -42 C33.8671875 -12.055288045225964, 33.8671875 17.88942390954807, 33.8671875 42 M33.8671875 42 C18.557757537187776 42, 3.248327574375555 42, -33.8671875 42 M33.8671875 42 C12.136420148537034 42, -9.594347202925931 42, -33.8671875 42 M-33.8671875 42 C-33.8671875 15.288040506938273, -33.8671875 -11.423918986123454, -33.8671875 -42 M-33.8671875 42 C-33.8671875 24.027136847138337, -33.8671875 6.054273694276674, -33.8671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-21.8671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=43.734375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classJ</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-21.8671875, 30)"></g><g class="methods-group text" transform="translate(-21.8671875, 60)"></g><g class=divider><path d="M-33.8671875 6 C-9.367217963320545 6, 15.13275157335891 6, 33.8671875 6 M-33.8671875 6 C-18.697291016330333 6, -3.527394532660665 6, 33.8671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-33.8671875 24 C-7.035675592857078 24, 19.795836314285843 24, 33.8671875 24 M-33.8671875 24 C-13.479884481931741 24, 6.907418536136518 24, 33.8671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classK-144 transform="translate(643.16796875, 50)"><g class="basic label-container"><path d="M-34.54296875 -42 L34.54296875 -42 L34.54296875 42 L-34.54296875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.54296875 -42 C-18.10724410886637 -42, -1.6715194677327432 -42, 34.54296875 -42 M-34.54296875 -42 C-16.98799582954059 -42, 0.5669770909188188 -42, 34.54296875 -42 M34.54296875 -42 C34.54296875 -9.587835109164928, 34.54296875 22.824329781670144, 34.54296875 42 M34.54296875 -42 C34.54296875 -13.894694349831017, 34.54296875 14.210611300337966, 34.54296875 42 M34.54296875 42 C19.790360633582488 42, 5.0377525171649715 42, -34.54296875 42 M34.54296875 42 C19.4801896118719 42, 4.417410473743804 42, -34.54296875 42 M-34.54296875 42 C-34.54296875 20.499947386322905, -34.54296875 -1.0001052273541902, -34.54296875 -42 M-34.54296875 42 C-34.54296875 8.437974792024562, -34.54296875 -25.124050415950876, -34.54296875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.54296875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.0859375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classK</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.54296875, 30)"></g><g class="methods-group text" transform="translate(-22.54296875, 60)"></g><g class=divider><path d="M-34.54296875 6 C-10.28918957401011 6, 13.964589601979782 6, 34.54296875 6 M-34.54296875 6 C-14.592323209798117 6, 5.358322330403766 6, 34.54296875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.54296875 24 C-9.22222171647736 24, 16.09852531704528 24, 34.54296875 24 M-34.54296875 24 C-9.618321039890606 24, 15.306326670218787 24, 34.54296875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classL-145 transform="translate(643.16796875, 208)"><g class="basic label-container"><path d="M-34.02734375 -42 L34.02734375 -42 L34.02734375 42 L-34.02734375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.02734375 -42 C-12.870417872126257 -42, 8.286508005747486 -42, 34.02734375 -42 M-34.02734375 -42 C-14.551625491491183 -42, 4.924092767017633 -42, 34.02734375 -42 M34.02734375 -42 C34.02734375 -11.379489395066877, 34.02734375 19.241021209866247, 34.02734375 42 M34.02734375 -42 C34.02734375 -22.66088620443568, 34.02734375 -3.321772408871361, 34.02734375 42 M34.02734375 42 C7.100571198864689 42, -19.826201352270623 42, -34.02734375 42 M34.02734375 42 C17.703486334507744 42, 1.379628919015488 42, -34.02734375 42 M-34.02734375 42 C-34.02734375 19.669443261759522, -34.02734375 -2.6611134764809563, -34.02734375 -42 M-34.02734375 42 C-34.02734375 20.917669108423112, -34.02734375 -0.16466178315377533, -34.02734375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.02734375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.0546875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>classL</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.02734375, 30)"></g><g class="methods-group text" transform="translate(-22.02734375, 60)"></g><g class=divider><path d="M-34.02734375 6 C-13.137977782087358 6, 7.751388185825284 6, 34.02734375 6 M-34.02734375 6 C-18.420083111637812 6, -2.8128224732756237 6, 34.02734375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.02734375 24 C-14.01999132179672 24, 5.98736110640656 24, 34.02734375 24 M-34.02734375 24 C-15.51407474127058 24, 2.99919426745884 24, 34.02734375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classM-146 transform="translate(763.27734375, 50)"><g class="basic label-container"><path d="M-35.56640625 -42 L35.56640625 -42 L35.56640625 42 L-35.56640625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.56640625 -42 C-17.05805769145861 -42, 1.4502908670827779 -42, 35.56640625 -42 M-35.56640625 -42 C-20.988502329034684 -42, -6.410598408069369 -42, 35.56640625 -42 M35.56640625 -42 C35.56640625 -8.921445895394989, 35.56640625 24.157108209210023, 35.56640625 42 M35.56640625 -42 C35.56640625 -21.289314285840845, 35.56640625 -0.5786285716816906, 35.56640625 42 M35.56640625 42 C17.344329168902338 42, -0.8777479121953249 42, -35.56640625 42 M35.56640625 42 C10.81406126878333 42, -13.93828371243334 42, -35.56640625 42 M-35.56640625 42 C-35.56640625 14.404931905081536, -35.56640625 -13.190136189836927, -35.56640625 -42 M-35.56640625 42 C-35.56640625 22.81347905549834, -35.56640625 3.626958110996682, -35.56640625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.56640625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=47.1328125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>classM</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.56640625, 30)"></g><g class="methods-group text" transform="translate(-23.56640625, 60)"></g><g class=divider><path d="M-35.56640625 6 C-11.1317290560145 6, 13.302948137971 6, 35.56640625 6 M-35.56640625 6 C-18.50195043895557 6, -1.4374946279111427 6, 35.56640625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.56640625 24 C-9.5903106174183 24, 16.3857850151634 24, 35.56640625 24 M-35.56640625 24 C-10.98643081331824 24, 13.59354462336352 24, 35.56640625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classN-147 transform="translate(763.27734375, 208)"><g class="basic label-container"><path d="M-34.9453125 -42 L34.9453125 -42 L34.9453125 42 L-34.9453125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.9453125 -42 C-7.950399031790717 -42, 19.044514436418567 -42, 34.9453125 -42 M-34.9453125 -42 C-10.444736781880803 -42, 14.055838936238395 -42, 34.9453125 -42 M34.9453125 -42 C34.9453125 -20.97010470116875, 34.9453125 0.05979059766249861, 34.9453125 42 M34.9453125 -42 C34.9453125 -21.009931159866753, 34.9453125 -0.019862319733505274, 34.9453125 42 M34.9453125 42 C14.519614668481108 42, -5.906083163037785 42, -34.9453125 42 M34.9453125 42 C8.08044454378933 42, -18.78442341242134 42, -34.9453125 42 M-34.9453125 42 C-34.9453125 11.020355934338497, -34.9453125 -19.959288131323007, -34.9453125 -42 M-34.9453125 42 C-34.9453125 21.43129255459626, -34.9453125 0.8625851091925227, -34.9453125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.9453125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.890625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classN</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.9453125, 30)"></g><g class="methods-group text" transform="translate(-22.9453125, 60)"></g><g class=divider><path d="M-34.9453125 6 C-15.747948356799657 6, 3.449415786400685 6, 34.9453125 6 M-34.9453125 6 C-11.834736159819638 6, 11.275840180360724 6, 34.9453125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.9453125 24 C-16.471850684701202 24, 2.0016111305975954 24, 34.9453125 24 M-34.9453125 24 C-14.470043415730096 24, 6.005225668539808 24, 34.9453125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classO-148 transform="translate(884.07421875, 50)"><g class="basic label-container"><path d="M-35.23046875 -42 L35.23046875 -42 L35.23046875 42 L-35.23046875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.23046875 -42 C-7.733300700857651 -42, 19.7638673482847 -42, 35.23046875 -42 M-35.23046875 -42 C-12.501735119844216 -42, 10.226998510311567 -42, 35.23046875 -42 M35.23046875 -42 C35.23046875 -21.056225433603274, 35.23046875 -0.1124508672065474, 35.23046875 42 M35.23046875 -42 C35.23046875 -23.482501239024263, 35.23046875 -4.965002478048525, 35.23046875 42 M35.23046875 42 C13.26157940687185 42, -8.707309936256301 42, -35.23046875 42 M35.23046875 42 C10.58287208700154 42, -14.06472457599692 42, -35.23046875 42 M-35.23046875 42 C-35.23046875 17.140340649289264, -35.23046875 -7.7193187014214715, -35.23046875 -42 M-35.23046875 42 C-35.23046875 21.636197567506894, -35.23046875 1.272395135013788, -35.23046875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.23046875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=46.4609375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:101px;text-align:center><span class="nodeLabel markdown-node-label"><p>classO</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.23046875, 30)"></g><g class="methods-group text" transform="translate(-23.23046875, 60)"></g><g class=divider><path d="M-35.23046875 6 C-19.728369617254472 6, -4.226270484508941 6, 35.23046875 6 M-35.23046875 6 C-16.413165035758876 6, 2.404138678482248 6, 35.23046875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.23046875 24 C-11.7399321846495 24, 11.750604380700999 24, 35.23046875 24 M-35.23046875 24 C-11.98761867891751 24, 11.25523139216498 24, 35.23046875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classP-149 transform="translate(884.07421875, 208)"><g class="basic label-container"><path d="M-34.30078125 -42 L34.30078125 -42 L34.30078125 42 L-34.30078125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.30078125 -42 C-14.819442433516915 -42, 4.6618963829661695 -42, 34.30078125 -42 M-34.30078125 -42 C-14.246030492197129 -42, 5.808720265605743 -42, 34.30078125 -42 M34.30078125 -42 C34.30078125 -19.340471075964466, 34.30078125 3.3190578480710684, 34.30078125 42 M34.30078125 -42 C34.30078125 -9.169849242059165, 34.30078125 23.66030151588167, 34.30078125 42 M34.30078125 42 C7.577312858350872 42, -19.146155533298256 42, -34.30078125 42 M34.30078125 42 C8.019049497262593 42, -18.262682255474814 42, -34.30078125 42 M-34.30078125 42 C-34.30078125 19.42990224032613, -34.30078125 -3.140195519347742, -34.30078125 -42 M-34.30078125 42 C-34.30078125 19.76337317389088, -34.30078125 -2.47325365221824, -34.30078125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.30078125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.6015625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classP</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.30078125, 30)"></g><g class="methods-group text" transform="translate(-22.30078125, 60)"></g><g class=divider><path d="M-34.30078125 6 C-17.828902562822698 6, -1.357023875645396 6, 34.30078125 6 M-34.30078125 6 C-9.603830849436083 6, 15.093119551127835 6, 34.30078125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.30078125 24 C-7.528156177110176 24, 19.244468895779647 24, 34.30078125 24 M-34.30078125 24 C-8.669433591461754 24, 16.961914067076492 24, 34.30078125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>div82p</span></div><h3 id=labels-on-relations tabindex=-1>关系标签 <a class=header-anchor href=#labels-on-relations aria-label='Permalink to "关系标签 {#labels-on-relations}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Labels on Relations<p>可以将标签文本添加到关系中：<p class="p-off p-en sf-hidden">¥It is possible to add label text to a relation:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>[classA][Arrow][ClassB]:LabelText</span></span></code></pre></div><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
classA &lt;|-- classB : implements
classC *-- classD : composition
classE o-- classF : aggregation
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-420 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:338.12109375px viewBox="0 0 338.12109375 258" role="graphics-document document" aria-roledescription=class><style>#mermaid-420{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-420 .edge-pattern-solid{stroke-dasharray:0}#mermaid-420 p{margin:0}#mermaid-420 .nodeLabel,#mermaid-420 .edgeLabel{color:#e0dfdf}#mermaid-420 .labelBkg{background:#1f2020}#mermaid-420 .edgeLabel .label span{background:#1f2020}#mermaid-420 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-420 .divider{stroke:#ccc;stroke-width:1}#mermaid-420 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-420 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-420 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-420 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-420 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-420 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-420 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-420 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-420 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-420 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-420 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-420 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-420_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-420_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-420_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-420_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M49.887,110L49.887,113.167C49.887,116.333,49.887,122.667,49.887,132C49.887,141.333,49.887,153.667,49.887,159.833L49.887,166 id=id_classA_classB_1 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-420_class-extensionStart)></path><path d=M169.059,110L169.059,113.167C169.059,116.333,169.059,122.667,169.059,132C169.059,141.333,169.059,153.667,169.059,159.833L169.059,166 id=id_classC_classD_2 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-420_class-compositionStart)></path><path d=M288.078,110L288.078,113.167C288.078,116.333,288.078,122.667,288.078,132C288.078,141.333,288.078,153.667,288.078,159.833L288.078,166 id=id_classE_classF_3 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-420_class-aggregationStart)></path></g><g class=edgeLabels><g class=edgeLabel transform="translate(49.88671875, 129)"><g class=label transform="translate(-41.88671875, -12)"><foreignobject width=83.7734375 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>implements</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(169.05859375, 129)"><g class=label transform="translate(-43.28125, -12)"><foreignobject width=86.5625 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>composition</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(288.078125, 129)"><g class=label transform="translate(-42.04296875, -12)"><foreignobject width=84.0859375 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>aggregation</p></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-classA-150 transform="translate(49.88671875, 50)"><g class="basic label-container"><path d="M-34.671875 -42 L34.671875 -42 L34.671875 42 L-34.671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.671875 -42 C-8.00148731607149 -42, 18.66890036785702 -42, 34.671875 -42 M-34.671875 -42 C-17.68827019056589 -42, -0.7046653811317825 -42, 34.671875 -42 M34.671875 -42 C34.671875 -14.81884280685626, 34.671875 12.36231438628748, 34.671875 42 M34.671875 -42 C34.671875 -24.13169401835356, 34.671875 -6.26338803670712, 34.671875 42 M34.671875 42 C15.045138878279609 42, -4.581597243440783 42, -34.671875 42 M34.671875 42 C15.084495885108314 42, -4.502883229783372 42, -34.671875 42 M-34.671875 42 C-34.671875 13.532880164475237, -34.671875 -14.934239671049525, -34.671875 -42 M-34.671875 42 C-34.671875 15.144839964359136, -34.671875 -11.710320071281728, -34.671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classA</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.671875, 30)"></g><g class="methods-group text" transform="translate(-22.671875, 60)"></g><g class=divider><path d="M-34.671875 6 C-11.492381803247529 6, 11.687111393504942 6, 34.671875 6 M-34.671875 6 C-10.969698788609861 6, 12.732477422780278 6, 34.671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.671875 24 C-9.191394989497631 24, 16.289085021004738 24, 34.671875 24 M-34.671875 24 C-10.25572122976908 24, 14.16043254046184 24, 34.671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classB-151 transform="translate(49.88671875, 208)"><g class="basic label-container"><path d="M-34.3671875 -42 L34.3671875 -42 L34.3671875 42 L-34.3671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.3671875 -42 C-12.556133501806706 -42, 9.254920496386589 -42, 34.3671875 -42 M-34.3671875 -42 C-13.21711652923604 -42, 7.932954441527919 -42, 34.3671875 -42 M34.3671875 -42 C34.3671875 -13.43488159459465, 34.3671875 15.1302368108107, 34.3671875 42 M34.3671875 -42 C34.3671875 -14.941689934357633, 34.3671875 12.116620131284733, 34.3671875 42 M34.3671875 42 C20.544735250782256 42, 6.722283001564513 42, -34.3671875 42 M34.3671875 42 C9.15798714385635 42, -16.0512132122873 42, -34.3671875 42 M-34.3671875 42 C-34.3671875 24.47192564939376, -34.3671875 6.943851298787521, -34.3671875 -42 M-34.3671875 42 C-34.3671875 11.969502419949567, -34.3671875 -18.060995160100866, -34.3671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.3671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.734375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>classB</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.3671875, 30)"></g><g class="methods-group text" transform="translate(-22.3671875, 60)"></g><g class=divider><path d="M-34.3671875 6 C-18.283581667772324 6, -2.199975835544649 6, 34.3671875 6 M-34.3671875 6 C-14.590814661116045 6, 5.185558177767909 6, 34.3671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.3671875 24 C-14.395279359446487 24, 5.576628781107026 24, 34.3671875 24 M-34.3671875 24 C-12.942861759997136 24, 8.481463980005728 24, 34.3671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classC-152 transform="translate(169.05859375, 50)"><g class="basic label-container"><path d="M-34.5 -42 L34.5 -42 L34.5 42 L-34.5 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.5 -42 C-20.695785338763116 -42, -6.891570677526232 -42, 34.5 -42 M-34.5 -42 C-14.342670107147544 -42, 5.814659785704912 -42, 34.5 -42 M34.5 -42 C34.5 -9.737015345626673, 34.5 22.525969308746653, 34.5 42 M34.5 -42 C34.5 -18.737687422937228, 34.5 4.524625154125545, 34.5 42 M34.5 42 C19.94935507696561 42, 5.398710153931219 42, -34.5 42 M34.5 42 C12.006734751937298 42, -10.486530496125404 42, -34.5 42 M-34.5 42 C-34.5 12.356815061450792, -34.5 -17.286369877098416, -34.5 -42 M-34.5 42 C-34.5 14.576923885818378, -34.5 -12.846152228363245, -34.5 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.5, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classC</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.5, 30)"></g><g class="methods-group text" transform="translate(-22.5, 60)"></g><g class=divider><path d="M-34.5 6 C-12.82351970545966 6, 8.85296058908068 6, 34.5 6 M-34.5 6 C-8.22514622330814 6, 18.04970755338372 6, 34.5 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.5 24 C-16.414095281707294 24, 1.6718094365854128 24, 34.5 24 M-34.5 24 C-9.641285164762095 24, 15.21742967047581 24, 34.5 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classD-153 transform="translate(169.05859375, 208)"><g class="basic label-container"><path d="M-34.74609375 -42 L34.74609375 -42 L34.74609375 42 L-34.74609375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.74609375 -42 C-15.540457253152436 -42, 3.6651792436951283 -42, 34.74609375 -42 M-34.74609375 -42 C-17.062080327733664 -42, 0.6219330945326718 -42, 34.74609375 -42 M34.74609375 -42 C34.74609375 -15.272610667287328, 34.74609375 11.454778665425344, 34.74609375 42 M34.74609375 -42 C34.74609375 -13.36692170092308, 34.74609375 15.266156598153842, 34.74609375 42 M34.74609375 42 C18.96971713038505 42, 3.193340510770099 42, -34.74609375 42 M34.74609375 42 C8.638884052375218 42, -17.468325645249564 42, -34.74609375 42 M-34.74609375 42 C-34.74609375 20.20970362427489, -34.74609375 -1.5805927514502187, -34.74609375 -42 M-34.74609375 42 C-34.74609375 22.117041217050055, -34.74609375 2.2340824341001095, -34.74609375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.74609375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=45.4921875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:100px;text-align:center><span class="nodeLabel markdown-node-label"><p>classD</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.74609375, 30)"></g><g class="methods-group text" transform="translate(-22.74609375, 60)"></g><g class=divider><path d="M-34.74609375 6 C-20.806243435145355 6, -6.866393120290706 6, 34.74609375 6 M-34.74609375 6 C-18.401260731770932 6, -2.056427713541865 6, 34.74609375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.74609375 24 C-19.060225259561996 24, -3.3743567691239953 24, 34.74609375 24 M-34.74609375 24 C-16.480484550692182 24, 1.7851246486156356 24, 34.74609375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classE-154 transform="translate(288.078125, 50)"><g class="basic label-container"><path d="M-34.15625 -42 L34.15625 -42 L34.15625 42 L-34.15625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.15625 -42 C-9.473568231139005 -42, 15.20911353772199 -42, 34.15625 -42 M-34.15625 -42 C-19.567171536155886 -42, -4.978093072311772 -42, 34.15625 -42 M34.15625 -42 C34.15625 -22.74517893136029, 34.15625 -3.490357862720579, 34.15625 42 M34.15625 -42 C34.15625 -10.109019112113856, 34.15625 21.781961775772288, 34.15625 42 M34.15625 42 C16.205548647897185 42, -1.7451527042056298 42, -34.15625 42 M34.15625 42 C15.20405941516481 42, -3.74813116967038 42, -34.15625 42 M-34.15625 42 C-34.15625 22.399210019826654, -34.15625 2.7984200396533083, -34.15625 -42 M-34.15625 42 C-34.15625 22.64631819772598, -34.15625 3.2926363954519573, -34.15625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.15625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.3125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classE</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.15625, 30)"></g><g class="methods-group text" transform="translate(-22.15625, 60)"></g><g class=divider><path d="M-34.15625 6 C-17.00367815356235 6, 0.14889369287529775 6, 34.15625 6 M-34.15625 6 C-19.753773466599824 6, -5.351296933199652 6, 34.15625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.15625 24 C-10.74996728921872 24, 12.65631542156256 24, 34.15625 24 M-34.15625 24 C-15.280126579001589 24, 3.595996841996822 24, 34.15625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-classF-155 transform="translate(288.078125, 208)"><g class="basic label-container"><path d="M-34.2734375 -42 L34.2734375 -42 L34.2734375 42 L-34.2734375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.2734375 -42 C-15.738051978452127 -42, 2.7973335430957462 -42, 34.2734375 -42 M-34.2734375 -42 C-7.140203770389828 -42, 19.993029959220344 -42, 34.2734375 -42 M34.2734375 -42 C34.2734375 -13.706244025402238, 34.2734375 14.587511949195523, 34.2734375 42 M34.2734375 -42 C34.2734375 -23.219382614917244, 34.2734375 -4.4387652298344875, 34.2734375 42 M34.2734375 42 C12.76404127071321 42, -8.745354958573579 42, -34.2734375 42 M34.2734375 42 C13.20175492290997 42, -7.86992765418006 42, -34.2734375 42 M-34.2734375 42 C-34.2734375 15.318794303940049, -34.2734375 -11.362411392119903, -34.2734375 -42 M-34.2734375 42 C-34.2734375 11.363972490553948, -34.2734375 -19.272055018892104, -34.2734375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.2734375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.546875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:98px;text-align:center><span class="nodeLabel markdown-node-label"><p>classF</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.2734375, 30)"></g><g class="methods-group text" transform="translate(-22.2734375, 60)"></g><g class=divider><path d="M-34.2734375 6 C-18.10808900849447 6, -1.9427405169889411 6, 34.2734375 6 M-34.2734375 6 C-11.313149707809036 6, 11.647138084381929 6, 34.2734375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.2734375 24 C-8.621004868695408 24, 17.031427762609184 24, 34.2734375 24 M-34.2734375 24 C-16.228677958493208 24, 1.8160815830135846 24, 34.2734375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>glg02f</span></div><h3 id=two-way-relations tabindex=-1>双向关系 <a class=header-anchor href=#two-way-relations aria-label='Permalink to "双向关系 {#two-way-relations}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Two-way relations<p>关系在逻辑上可以表示 N:M 关联：<p class="p-off p-en sf-hidden">¥Relations can logically represent an N:M association:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    Animal &lt;|--|&gt; Zebra
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-433 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:91.34375px viewBox="0 0 91.34375 234" role="graphics-document document" aria-roledescription=class><style>#mermaid-433{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-433 .edge-pattern-solid{stroke-dasharray:0}#mermaid-433 p{margin:0}#mermaid-433 .nodeLabel,#mermaid-433 .edgeLabel{color:#e0dfdf}#mermaid-433 .labelBkg{background:#1f2020}#mermaid-433 .edgeLabel .label span{background:#1f2020}#mermaid-433 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-433 .divider{stroke:#ccc;stroke-width:1}#mermaid-433 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-433 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-433 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-433 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-433 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-433 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-433 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-433 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-433 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-433 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-433 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-433 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-433_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-433_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-433_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-433_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M45.672,110L45.672,111.167C45.672,112.333,45.672,114.667,45.672,117C45.672,119.333,45.672,121.667,45.672,122.833L45.672,124 id=id_Animal_Zebra_1 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-433_class-extensionStart) marker-end=url(#mermaid-433_class-extensionEnd)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-Animal-156 transform="translate(45.671875, 50)"><g class="basic label-container"><path d="M-37.671875 -42 L37.671875 -42 L37.671875 42 L-37.671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-37.671875 -42 C-15.261426625798308 -42, 7.149021748403385 -42, 37.671875 -42 M-37.671875 -42 C-14.731561602879442 -42, 8.208751794241117 -42, 37.671875 -42 M37.671875 -42 C37.671875 -9.145968517685056, 37.671875 23.70806296462989, 37.671875 42 M37.671875 -42 C37.671875 -9.262129679734429, 37.671875 23.475740640531143, 37.671875 42 M37.671875 42 C10.4386648532364 42, -16.7945452935272 42, -37.671875 42 M37.671875 42 C21.547605541782797 42, 5.423336083565594 42, -37.671875 42 M-37.671875 42 C-37.671875 12.716716112909857, -37.671875 -16.566567774180285, -37.671875 -42 M-37.671875 42 C-37.671875 10.320027556031778, -37.671875 -21.359944887936443, -37.671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.671875, 30)"></g><g class="methods-group text" transform="translate(-25.671875, 60)"></g><g class=divider><path d="M-37.671875 6 C-14.18111721769905 6, 9.3096405646019 6, 37.671875 6 M-37.671875 6 C-16.91316918836289 6, 3.8455366232742207 6, 37.671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-37.671875 24 C-16.24533444769261 24, 5.18120610461478 24, 37.671875 24 M-37.671875 24 C-12.394110839791466 24, 12.883653320417068 24, 37.671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Zebra-157 transform="translate(45.671875, 184)"><g class="basic label-container"><path d="M-33.16015625 -42 L33.16015625 -42 L33.16015625 42 L-33.16015625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-33.16015625 -42 C-11.251019120333904 -42, 10.658118009332192 -42, 33.16015625 -42 M-33.16015625 -42 C-12.339530756199352 -42, 8.481094737601296 -42, 33.16015625 -42 M33.16015625 -42 C33.16015625 -13.745518733330755, 33.16015625 14.50896253333849, 33.16015625 42 M33.16015625 -42 C33.16015625 -16.598121722318638, 33.16015625 8.803756555362725, 33.16015625 42 M33.16015625 42 C19.049427854917386 42, 4.938699459834773 42, -33.16015625 42 M33.16015625 42 C18.85775859436319 42, 4.555360938726377 42, -33.16015625 42 M-33.16015625 42 C-33.16015625 20.76319401197075, -33.16015625 -0.4736119760584998, -33.16015625 -42 M-33.16015625 42 C-33.16015625 11.176143511616317, -33.16015625 -19.647712976767366, -33.16015625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-21.16015625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=42.3203125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:94px;text-align:center><span class="nodeLabel markdown-node-label"><p>Zebra</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-21.16015625, 30)"></g><g class="methods-group text" transform="translate(-21.16015625, 60)"></g><g class=divider><path d="M-33.16015625 6 C-16.23980686586666 6, 0.6805425182666767 6, 33.16015625 6 M-33.16015625 6 C-15.723394541134205 6, 1.7133671677315903 6, 33.16015625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-33.16015625 24 C-10.26891465702424 24, 12.62232693595152 24, 33.16015625 24 M-33.16015625 24 C-11.627918471359354 24, 9.904319307281291 24, 33.16015625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>pc5ecr</span></div><p>语法如下：<p class="p-off p-en sf-hidden">¥Here is the syntax:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>[Relation Type][Link][Relation Type]</span></span></code></pre></div><p>其中 <code>Relation Type</code> 可以是以下之一：<p class="p-off p-en sf-hidden">¥Where can be one of:<table tabindex=0><thead><tr><th>类型<th>描述<tbody><tr><td><code>&lt;|</code><td>继承<tr><td><code>\*</code><td>作品<tr><td><code>o</code><td>聚合<tr><td><code>&gt;</code><td>关联<tr><td><code>&lt;</code><td>关联<tr><td><code>|&gt;</code><td>实现</table><p><code>Link</code> 可以是以下之一：<p class="p-off p-en sf-hidden">¥And can be one of:<table tabindex=0><thead><tr><th>类型<th>描述<tbody><tr><td>--<td>实线<tr><td>..<td>虚线</table><h3 id=lollipop-interfaces tabindex=-1>棒棒糖界面 <a class=header-anchor href=#lollipop-interfaces aria-label='Permalink to "棒棒糖界面 {#lollipop-interfaces}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Lollipop Interfaces<p>类也可以被赋予一个特殊的关系类型，该关系类型在类上定义棒棒糖接口。棒棒糖接口使用以下语法定义：<p class="p-off p-en sf-hidden">¥Classes can also be given a special relation type that defines a lollipop interface on the class. A lollipop interface is defined using the following syntax:<ul><li><p><code>bar ()-- foo</code></p><li><p><code>foo --() bar</code></p></ul><p>带有棒棒糖的界面（bar）连接到类（foo）。<p class="p-off p-en sf-hidden">¥The interface (bar) with the lollipop connects to the class (foo).<p>注意：定义的每个接口都是唯一的，并且不应在类之间共享/有多个边缘连接到它。<p class="p-off p-en sf-hidden">¥Note: Each interface that is defined is unique and is meant to not be shared between classes / have multiple edges connecting to it.<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
  bar ()-- foo
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-581 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:64.0234375px viewBox="0 0 64.0234375 174" role="graphics-document document" aria-roledescription=class><style>#mermaid-581{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-581 .edge-pattern-solid{stroke-dasharray:0}#mermaid-581 p{margin:0}#mermaid-581 .nodeLabel,#mermaid-581 .edgeLabel{color:#e0dfdf}#mermaid-581 .labelBkg{background:#1f2020}#mermaid-581 .edgeLabel .label span{background:#1f2020}#mermaid-581 .node rect,#mermaid-581 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-581 .divider{stroke:#ccc;stroke-width:1}#mermaid-581 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-581 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-581 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-581 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-581 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-581 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-581 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-581 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-581 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-581 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-581 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-581 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-581_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-581_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-581_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-581_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M32.012,45.5L32.012,47.417C32.012,49.333,32.012,53.167,32.012,59.25C32.012,65.333,32.012,73.667,32.012,77.833L32.012,82 id=id_interface0_foo_1 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-581_class-lollipopStart)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-foo-158 transform="translate(32.01171875, 124)"><g class="basic label-container"><path d="M-24.01171875 -42 L24.01171875 -42 L24.01171875 42 L-24.01171875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-24.01171875 -42 C-12.468874017390842 -42, -0.9260292847816842 -42, 24.01171875 -42 M-24.01171875 -42 C-12.479847697551739 -42, -0.947976645103477 -42, 24.01171875 -42 M24.01171875 -42 C24.01171875 -23.204144224051504, 24.01171875 -4.408288448103008, 24.01171875 42 M24.01171875 -42 C24.01171875 -17.975575038535435, 24.01171875 6.048849922929129, 24.01171875 42 M24.01171875 42 C8.363625020499683 42, -7.284468709000635 42, -24.01171875 42 M24.01171875 42 C5.926751171966242 42, -12.158216406067517 42, -24.01171875 42 M-24.01171875 42 C-24.01171875 19.946928578907745, -24.01171875 -2.1061428421845108, -24.01171875 -42 M-24.01171875 42 C-24.01171875 11.156485333770064, -24.01171875 -19.687029332459872, -24.01171875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-12.01171875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=24.0234375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:76px;text-align:center><span class="nodeLabel markdown-node-label"><p>foo</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-12.01171875, 30)"></g><g class="methods-group text" transform="translate(-12.01171875, 60)"></g><g class=divider><path d="M-24.01171875 6 C-14.250350491874382 6, -4.488982233748764 6, 24.01171875 6 M-24.01171875 6 C-10.863005541952845 6, 2.2857076660943108 6, 24.01171875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-24.01171875 24 C-4.922659780660656 24, 14.166399188678689 24, 24.01171875 24 M-24.01171875 24 C-13.785067604696469 24, -3.5584164593929373 24, 24.01171875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node undefined" id=interface0 transform="translate(32.01171875, 20)"><rect class="basic label-container" style=opacity:0 x=-11.76953125 y=-12 width=23.5390625 height=24></rect><g class=label transform="translate(-11.76953125, -12)"><rect></rect><foreignobject width=23.5390625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center><span class=nodeLabel><p>bar</p></span></div></foreignobject></g></g></g></g></g></svg> <span style=display:none>pqnxdc</span></div><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
  class Class01 {
    int amount
    draw()
  }
  Class01 --() bar
  Class02 --() bar

  foo ()-- Class01
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-582 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:247.90234375px viewBox="0 0 247.90234375 368" role="graphics-document document" aria-roledescription=class><style>#mermaid-582{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-582 .edge-pattern-solid{stroke-dasharray:0}#mermaid-582 p{margin:0}#mermaid-582 .nodeLabel,#mermaid-582 .edgeLabel{color:#e0dfdf}#mermaid-582 .labelBkg{background:#1f2020}#mermaid-582 .edgeLabel .label span{background:#1f2020}#mermaid-582 .node rect,#mermaid-582 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-582 .divider{stroke:#ccc;stroke-width:1}#mermaid-582 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-582 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-582 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-582 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-582 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-582 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-582 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-582 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-582 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-582 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-582 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-582 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-582_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-582_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-582_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-582_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M73.176,286L73.176,290.167C73.176,294.333,73.176,302.667,73.176,308.75C73.176,314.833,73.176,318.667,73.176,320.583L73.176,322.5 id=id_Class01_interface0_1 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-582_class-lollipopEnd)></path><path d=M200.121,92L200.121,96.167C200.121,100.333,200.121,108.667,200.121,124.75C200.121,140.833,200.121,164.667,200.121,176.583L200.121,188.5 id=id_Class02_interface1_2 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-582_class-lollipopEnd)></path><path d=M73.176,75.5L73.176,82.417C73.176,89.333,73.176,103.167,73.176,114.25C73.176,125.333,73.176,133.667,73.176,137.833L73.176,142 id=id_interface2_Class01_3 class="edge-thickness-normal edge-pattern-solid relation" marker-start=url(#mermaid-582_class-lollipopStart)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-Class01-159 transform="translate(73.17578125, 214)"><g class="basic label-container"><path d="M-65.17578125 -72 L65.17578125 -72 L65.17578125 72 L-65.17578125 72" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-65.17578125 -72 C-31.605981300419877 -72, 1.9638186491602454 -72, 65.17578125 -72 M-65.17578125 -72 C-21.606365976421472 -72, 21.963049297157056 -72, 65.17578125 -72 M65.17578125 -72 C65.17578125 -15.068975967240348, 65.17578125 41.8620480655193, 65.17578125 72 M65.17578125 -72 C65.17578125 -18.750299373916256, 65.17578125 34.49940125216749, 65.17578125 72 M65.17578125 72 C17.73058751083809 72, -29.714606228323817 72, -65.17578125 72 M65.17578125 72 C29.1370305400376 72, -6.9017201699248005 72, -65.17578125 72 M-65.17578125 72 C-65.17578125 36.99774266008495, -65.17578125 1.9954853201699052, -65.17578125 -72 M-65.17578125 72 C-65.17578125 35.34971227311466, -65.17578125 -1.3005754537706764, -65.17578125 -72" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-27.78125, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=55.5625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:108px;text-align:center><span class="nodeLabel markdown-node-label"><p>Class01</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-53.17578125, 0)"><g class=label transform=translate(0,-12)><foreignobject width=78.5703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:135px;text-align:center><span class="nodeLabel markdown-node-label"><p>int amount</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-53.17578125, 48)"><g class=label transform=translate(0,-12)><foreignobject width=47.1953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>draw()</p></span></div></foreignobject></g></g><g class=divider><path d="M-65.17578125 -24 C-24.37480450429522 -24, 16.42617224140956 -24, 65.17578125 -24 M-65.17578125 -24 C-33.35102626482524 -24, -1.52627127965048 -24, 65.17578125 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-65.17578125 24 C-25.081533668831526 24, 15.012713912336949 24, 65.17578125 24 M-65.17578125 24 C-36.44962936782383 24, -7.723477485647656 24, 65.17578125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Class02-160 transform="translate(200.12109375, 50)"><g class="basic label-container"><path d="M-39.78125 -42 L39.78125 -42 L39.78125 42 L-39.78125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.78125 -42 C-14.009311940191253 -42, 11.762626119617494 -42, 39.78125 -42 M-39.78125 -42 C-18.43698905277206 -42, 2.9072718944558815 -42, 39.78125 -42 M39.78125 -42 C39.78125 -18.77777249249385, 39.78125 4.444455015012302, 39.78125 42 M39.78125 -42 C39.78125 -23.12666840223742, 39.78125 -4.253336804474841, 39.78125 42 M39.78125 42 C14.551996122715572 42, -10.677257754568856 42, -39.78125 42 M39.78125 42 C11.09866608376834 42, -17.58391783246332 42, -39.78125 42 M-39.78125 42 C-39.78125 20.95001623477559, -39.78125 -0.09996753044882212, -39.78125 -42 M-39.78125 42 C-39.78125 20.098170262784606, -39.78125 -1.8036594744307877, -39.78125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.78125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=55.5625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:111px;text-align:center><span class="nodeLabel markdown-node-label"><p>Class02</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.78125, 30)"></g><g class="methods-group text" transform="translate(-27.78125, 60)"></g><g class=divider><path d="M-39.78125 6 C-19.731794541297887 6, 0.31766091740422553 6, 39.78125 6 M-39.78125 6 C-21.699299875887366 6, -3.617349751774732 6, 39.78125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.78125 24 C-17.048268664612674 24, 5.684712670774651 24, 39.78125 24 M-39.78125 24 C-20.154439206479132 24, -0.5276284129582649 24, 39.78125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node undefined" id=interface0 transform="translate(73.17578125, 348)"><rect class="basic label-container" style=opacity:0 x=-11.76953125 y=-12 width=23.5390625 height=24></rect><g class=label transform="translate(-11.76953125, -12)"><rect></rect><foreignobject width=23.5390625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center><span class=nodeLabel><p>bar</p></span></div></foreignobject></g></g><g class="node undefined" id=interface1 transform="translate(200.12109375, 214)"><rect class="basic label-container" style=opacity:0 x=-11.76953125 y=-12 width=23.5390625 height=24></rect><g class=label transform="translate(-11.76953125, -12)"><rect></rect><foreignobject width=23.5390625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center><span class=nodeLabel><p>bar</p></span></div></foreignobject></g></g><g class="node undefined" id=interface2 transform="translate(73.17578125, 50)"><rect class="basic label-container" style=opacity:0 x=-11.54296875 y=-12 width=23.0859375 height=24></rect><g class=label transform="translate(-11.54296875, -12)"><rect></rect><foreignobject width=23.0859375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center><span class=nodeLabel><p>foo</p></span></div></foreignobject></g></g></g></g></g></svg> <span style=display:none>66umas</span></div><h2 id=define-namespace tabindex=-1>定义命名空间 <a class=header-anchor href=#define-namespace aria-label='Permalink to "定义命名空间 {#define-namespace}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Define Namespace<p>命名空间对类进行分组。<p class="p-off p-en sf-hidden">¥A namespace groups classes.<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
namespace BaseShapes {
    class Triangle
    class Rectangle {
      double width
      double height
    }
}
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-595 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:250.27734375px viewBox="-8 0 250.27734375 364" role="graphics-document document" aria-roledescription=class><style>#mermaid-595{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-595 p{margin:0}#mermaid-595 .nodeLabel{color:#e0dfdf}#mermaid-595 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-595 .divider{stroke:#ccc;stroke-width:1}#mermaid-595 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-595 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-595 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-595 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-595 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-595 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-595 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-595 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-595 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-595 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-595 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-595_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-595_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-595_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-595_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class=root transform="translate(-8, 0)"><g class=clusters><g class="cluster undefined" id=BaseShapes data-look=classic><rect style=fill:none!important;stroke:black!important x=8 y=8 width=234.27734375 height=348></rect><g class=cluster-label transform="translate(84.326171875, 8)"><foreignobject width=81.625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center><span class=nodeLabel><p>BaseShapes</p></span></div></foreignobject></g></g></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Triangle-161 transform="translate(125.138671875, 85)"><g class="basic label-container"><path d="M-41.8359375 -42 L41.8359375 -42 L41.8359375 42 L-41.8359375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-41.8359375 -42 C-22.237730380787134 -42, -2.6395232615742685 -42, 41.8359375 -42 M-41.8359375 -42 C-21.828628426498504 -42, -1.8213193529970084 -42, 41.8359375 -42 M41.8359375 -42 C41.8359375 -14.345909664163933, 41.8359375 13.308180671672133, 41.8359375 42 M41.8359375 -42 C41.8359375 -16.97130624757703, 41.8359375 8.057387504845941, 41.8359375 42 M41.8359375 42 C15.062121967849563 42, -11.711693564300873 42, -41.8359375 42 M41.8359375 42 C12.527678047291527 42, -16.780581405416946 42, -41.8359375 42 M-41.8359375 42 C-41.8359375 11.710491727563138, -41.8359375 -18.579016544873724, -41.8359375 -42 M-41.8359375 42 C-41.8359375 18.350507157950055, -41.8359375 -5.29898568409989, -41.8359375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-29.8359375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=59.671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:110px;text-align:center><span class="nodeLabel markdown-node-label"><p>Triangle</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-29.8359375, 30)"></g><g class="methods-group text" transform="translate(-29.8359375, 60)"></g><g class=divider><path d="M-41.8359375 6 C-14.493024747466727 6, 12.849888005066546 6, 41.8359375 6 M-41.8359375 6 C-19.26390339493023 6, 3.3081307101395367 6, 41.8359375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-41.8359375 24 C-24.751465168288043 24, -7.666992836576085 24, 41.8359375 24 M-41.8359375 24 C-24.41038851784729 24, -6.984839535694583 24, 41.8359375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Rectangle-162 transform="translate(125.138671875, 249)"><g class="basic label-container"><path d="M-79.638671875 -72 L79.638671875 -72 L79.638671875 72 L-79.638671875 72" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-79.638671875 -72 C-26.33786393304225 -72, 26.9629440089155 -72, 79.638671875 -72 M-79.638671875 -72 C-42.471469071664096 -72, -5.304266268328192 -72, 79.638671875 -72 M79.638671875 -72 C79.638671875 -17.763478952989615, 79.638671875 36.47304209402077, 79.638671875 72 M79.638671875 -72 C79.638671875 -26.322643066693935, 79.638671875 19.35471386661213, 79.638671875 72 M79.638671875 72 C21.216483358345705 72, -37.20570515830859 72, -79.638671875 72 M79.638671875 72 C27.356025253165136 72, -24.92662136866973 72, -79.638671875 72 M-79.638671875 72 C-79.638671875 33.22040101909577, -79.638671875 -5.559197961808465, -79.638671875 -72 M-79.638671875 72 C-79.638671875 16.959962919687406, -79.638671875 -38.08007416062519, -79.638671875 -72" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-36.70703125, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=73.4140625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:125px;text-align:center><span class="nodeLabel markdown-node-label"><p>Rectangle</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-67.638671875, 0)"><g class=label transform=translate(0,-12)><foreignobject width=93.890625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:151px;text-align:center><span class="nodeLabel markdown-node-label"><p>double width</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=98.5703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:158px;text-align:center><span class="nodeLabel markdown-node-label"><p>double height</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-67.638671875, 72)"></g><g class=divider><path d="M-79.638671875 -24 C-18.159721950509905 -24, 43.31922797398019 -24, 79.638671875 -24 M-79.638671875 -24 C-26.584272973450112 -24, 26.470125928099776 -24, 79.638671875 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-79.638671875 48 C-24.23587169420135 48, 31.1669284865973 48, 79.638671875 48 M-79.638671875 48 C-36.09963855450573 48, 7.439394765988538 48, 79.638671875 48" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></g></g></svg> <span style=display:none>3jthgr</span></div><h2 id=cardinality--multiplicity-on-relations tabindex=-1>关系的基数/多重性 <a class=header-anchor href=#cardinality--multiplicity-on-relations aria-label='Permalink to "关系的基数/多重性 {#cardinality--multiplicity-on-relations}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Cardinality / Multiplicity on relations<p>类图中的多重性或基数指示可以链接到另一类的实例的一个类的实例数。例如，每个公司都会有一名或多名员工（不是零），并且每个员工当前为零个或一个公司工作。<p class="p-off p-en sf-hidden">¥Multiplicity or cardinality in class diagrams indicates the number of instances of one class that can be linked to an instance of the other class. For example, each company will have one or more employees (not zero), and each employee currently works for zero or one companies.<p>多重符号放置在关联的末尾附近。<p class="p-off p-en sf-hidden">¥Multiplicity notations are placed near the end of an association.<p>不同的基数选项是：<p class="p-off p-en sf-hidden">¥The different cardinality options are :<ul><li><p><code>1</code> 只有 1 个<p class="p-off p-en sf-hidden">¥ Only 1</p><li><p><code>0..1</code> 零或一<p class="p-off p-en sf-hidden">¥ Zero or One</p><li><p><code>1..*</code> 一个或多个<p class="p-off p-en sf-hidden">¥ One or more</p><li><p><code>*</code> 许多<p class="p-off p-en sf-hidden">¥ Many</p><li><p><code>n</code> n（其中 n&gt;1）<p class="p-off p-en sf-hidden">¥ n (where n&gt;1)</p><li><p><code>0..n</code> 0 到 n（其中 n&gt;1）<p class="p-off p-en sf-hidden">¥ zero to n (where n&gt;1)</p><li><p><code>1..n</code> 1 到 n（其中 n&gt;1）<p class="p-off p-en sf-hidden">¥ one to n (where n&gt;1)</p></ul><p>通过将文本选项放在给定箭头之前或之后的引号 <code>"</code> 内，可以轻松定义基数。例如：<p class="p-off p-en sf-hidden">¥Cardinality can be easily defined by placing the text option within quotes before or after a given arrow. For example:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>[classA] "cardinality1" [Arrow] "cardinality2" [ClassB]:LabelText</span></span></code></pre></div><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    Customer "1" --&gt; "*" Ticket
    Student "1" --&gt; "1..*" Course
    Galaxy --&gt; "many" Star : Contains
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-685 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:376.50390625px viewBox="0 0 376.50390625 258" role="graphics-document document" aria-roledescription=class><style>#mermaid-685{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-685 .edge-pattern-solid{stroke-dasharray:0}#mermaid-685 p{margin:0}#mermaid-685 .nodeLabel,#mermaid-685 .edgeLabel{color:#e0dfdf}#mermaid-685 .labelBkg{background:#1f2020}#mermaid-685 .edgeLabel .label span{background:#1f2020}#mermaid-685 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-685 .divider{stroke:#ccc;stroke-width:1}#mermaid-685 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-685 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-685 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-685 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-685 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-685 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-685 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-685 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-685 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-685 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-685 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-685 .edgeTerminals{font-size:11px;line-height:initial}#mermaid-685 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-685_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-685_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-685_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-685_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M55.656,92L55.656,98.167C55.656,104.333,55.656,116.667,55.656,128C55.656,139.333,55.656,149.667,55.656,154.833L55.656,160 id=id_Customer_Ticket_1 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-685_class-dependencyEnd)></path><path d=M194.438,92L194.438,98.167C194.438,104.333,194.438,116.667,194.438,128C194.438,139.333,194.438,149.667,194.438,154.833L194.438,160 id=id_Student_Course_2 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-685_class-dependencyEnd)></path><path d=M322.504,92L322.504,98.167C322.504,104.333,322.504,116.667,322.504,128C322.504,139.333,322.504,149.667,322.504,154.833L322.504,160 id=id_Galaxy_Star_3 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-685_class-dependencyEnd)></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel><g class=label transform="translate(0, -12)"><foreignobject width=0 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(322.50390625, 129)"><g class=label transform="translate(-30.71484375, -12)"><foreignobject width=61.4296875 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>Contains</p></span></div></foreignobject></g></g><g class=edgeTerminals transform="translate(40.65625, 109.5)"><g class=inner transform="translate(0, 0)"><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1</span></div></foreignobject></g></g><g class=edgeTerminals transform="translate(179.4375, 109.5)"><g class=inner transform="translate(0, 0)"><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1</span></div></foreignobject></g></g><g class=edgeTerminals transform="translate(332.5039081249999, 143.50000160714288)"><g class=inner transform="translate(0, 0)"></g><foreignobject style=width:36px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>many</span></div></foreignobject></g><g class=edgeTerminals transform="translate(65.65625, 143.5)"><g class=inner transform="translate(0, 0)"></g><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>*</span></div></foreignobject></g><g class=edgeTerminals transform="translate(204.4375, 143.5)"><g class=inner transform="translate(0, 0)"></g><foreignobject style=width:36px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1..*</span></div></foreignobject></g></g><g class=nodes><g class="node default" id=classId-Customer-163 transform="translate(55.65625, 50)"><g class="basic label-container"><path d="M-47.65625 -42 L47.65625 -42 L47.65625 42 L-47.65625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-47.65625 -42 C-10.184630311794187 -42, 27.286989376411626 -42, 47.65625 -42 M-47.65625 -42 C-23.382828889728504 -42, 0.8905922205429917 -42, 47.65625 -42 M47.65625 -42 C47.65625 -21.39508073692125, 47.65625 -0.7901614738425025, 47.65625 42 M47.65625 -42 C47.65625 -23.287546407520523, 47.65625 -4.575092815041046, 47.65625 42 M47.65625 42 C12.706233474026504 42, -22.24378305194699 42, -47.65625 42 M47.65625 42 C27.100910221572455 42, 6.545570443144911 42, -47.65625 42 M-47.65625 42 C-47.65625 17.934602734416437, -47.65625 -6.130794531167126, -47.65625 -42 M-47.65625 42 C-47.65625 21.275204766547628, -47.65625 0.5504095330952552, -47.65625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-35.65625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=71.3125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:125px;text-align:center><span class="nodeLabel markdown-node-label"><p>Customer</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-35.65625, 30)"></g><g class="methods-group text" transform="translate(-35.65625, 60)"></g><g class=divider><path d="M-47.65625 6 C-15.960976618225665 6, 15.73429676354867 6, 47.65625 6 M-47.65625 6 C-20.991215989613448 6, 5.673818020773105 6, 47.65625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-47.65625 24 C-23.180578119115932 24, 1.2950937617681362 24, 47.65625 24 M-47.65625 24 C-23.37750847407776 24, 0.9012330518444784 24, 47.65625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Ticket-164 transform="translate(55.65625, 208)"><g class="basic label-container"><path d="M-35.23046875 -42 L35.23046875 -42 L35.23046875 42 L-35.23046875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-35.23046875 -42 C-16.804281933533204 -42, 1.6219048829335918 -42, 35.23046875 -42 M-35.23046875 -42 C-9.415123658614139 -42, 16.400221432771723 -42, 35.23046875 -42 M35.23046875 -42 C35.23046875 -23.309628495656373, 35.23046875 -4.619256991312746, 35.23046875 42 M35.23046875 -42 C35.23046875 -19.202506753869766, 35.23046875 3.5949864922604675, 35.23046875 42 M35.23046875 42 C10.896822409419762 42, -13.436823931160475 42, -35.23046875 42 M35.23046875 42 C7.5427048033297375 42, -20.145059143340525 42, -35.23046875 42 M-35.23046875 42 C-35.23046875 23.25566552726586, -35.23046875 4.511331054531723, -35.23046875 -42 M-35.23046875 42 C-35.23046875 25.193714217690875, -35.23046875 8.38742843538175, -35.23046875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-23.23046875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=46.4609375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:96px;text-align:center><span class="nodeLabel markdown-node-label"><p>Ticket</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-23.23046875, 30)"></g><g class="methods-group text" transform="translate(-23.23046875, 60)"></g><g class=divider><path d="M-35.23046875 6 C-13.208171665372813 6, 8.814125419254374 6, 35.23046875 6 M-35.23046875 6 C-20.104831617107404 6, -4.979194484214808 6, 35.23046875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-35.23046875 24 C-8.383954868035953 24, 18.462559013928093 24, 35.23046875 24 M-35.23046875 24 C-10.125730200887858 24, 14.979008348224284 24, 35.23046875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Student-165 transform="translate(194.4375, 50)"><g class="basic label-container"><path d="M-41.125 -42 L41.125 -42 L41.125 42 L-41.125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-41.125 -42 C-22.933796226863496 -42, -4.742592453726992 -42, 41.125 -42 M-41.125 -42 C-19.155718791082943 -42, 2.813562417834113 -42, 41.125 -42 M41.125 -42 C41.125 -19.126087741288245, 41.125 3.74782451742351, 41.125 42 M41.125 -42 C41.125 -20.95200329907756, 41.125 0.09599340184487914, 41.125 42 M41.125 42 C21.984188399450197 42, 2.843376798900394 42, -41.125 42 M41.125 42 C17.429517750303567 42, -6.265964499392865 42, -41.125 42 M-41.125 42 C-41.125 16.307929142346605, -41.125 -9.38414171530679, -41.125 -42 M-41.125 42 C-41.125 23.09082770466667, -41.125 4.181655409333338, -41.125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-29.125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=58.25 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:110px;text-align:center><span class="nodeLabel markdown-node-label"><p>Student</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-29.125, 30)"></g><g class="methods-group text" transform="translate(-29.125, 60)"></g><g class=divider><path d="M-41.125 6 C-16.209156876646606 6, 8.706686246706788 6, 41.125 6 M-41.125 6 C-13.597636434622093 6, 13.929727130755815 6, 41.125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-41.125 24 C-20.85030568231118 24, -0.5756113646223611 24, 41.125 24 M-41.125 24 C-21.92098350498064 24, -2.71696700996128 24, 41.125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Course-166 transform="translate(194.4375, 208)"><g class="basic label-container"><path d="M-37.609375 -42 L37.609375 -42 L37.609375 42 L-37.609375 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-37.609375 -42 C-21.5030762754114 -42, -5.396777550822797 -42, 37.609375 -42 M-37.609375 -42 C-12.017811457390593 -42, 13.573752085218814 -42, 37.609375 -42 M37.609375 -42 C37.609375 -18.365465786276637, 37.609375 5.269068427446726, 37.609375 42 M37.609375 -42 C37.609375 -16.162443342029018, 37.609375 9.675113315941964, 37.609375 42 M37.609375 42 C15.686768235478755 42, -6.235838529042489 42, -37.609375 42 M37.609375 42 C8.363847026315732 42, -20.881680947368537 42, -37.609375 42 M-37.609375 42 C-37.609375 9.652466401544544, -37.609375 -22.695067196910912, -37.609375 -42 M-37.609375 42 C-37.609375 15.720680896663428, -37.609375 -10.558638206673145, -37.609375 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.609375, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.21875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:104px;text-align:center><span class="nodeLabel markdown-node-label"><p>Course</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.609375, 30)"></g><g class="methods-group text" transform="translate(-25.609375, 60)"></g><g class=divider><path d="M-37.609375 6 C-21.619271948133676 6, -5.629168896267352 6, 37.609375 6 M-37.609375 6 C-20.80141314487855 6, -3.993451289757097 6, 37.609375 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-37.609375 24 C-11.568366228893488 24, 14.472642542213023 24, 37.609375 24 M-37.609375 24 C-9.253507084644166 24, 19.102360830711667 24, 37.609375 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Galaxy-167 transform="translate(322.50390625, 50)"><g class="basic label-container"><path d="M-36.94140625 -42 L36.94140625 -42 L36.94140625 42 L-36.94140625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-36.94140625 -42 C-11.310622227551551 -42, 14.320161794896897 -42, 36.94140625 -42 M-36.94140625 -42 C-19.734447895831238 -42, -2.527489541662476 -42, 36.94140625 -42 M36.94140625 -42 C36.94140625 -20.710219262583156, 36.94140625 0.5795614748336888, 36.94140625 42 M36.94140625 -42 C36.94140625 -23.72729195635455, 36.94140625 -5.454583912709097, 36.94140625 42 M36.94140625 42 C20.41797728524095 42, 3.8945483204819027 42, -36.94140625 42 M36.94140625 42 C13.938153359188718 42, -9.065099531622565 42, -36.94140625 42 M-36.94140625 42 C-36.94140625 18.986833521535825, -36.94140625 -4.02633295692835, -36.94140625 -42 M-36.94140625 42 C-36.94140625 9.868141341313219, -36.94140625 -22.263717317373562, -36.94140625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-24.94140625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=49.8828125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:101px;text-align:center><span class="nodeLabel markdown-node-label"><p>Galaxy</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-24.94140625, 30)"></g><g class="methods-group text" transform="translate(-24.94140625, 60)"></g><g class=divider><path d="M-36.94140625 6 C-18.79013504722075 6, -0.6388638444415022 6, 36.94140625 6 M-36.94140625 6 C-19.011926319983246 6, -1.082446389966492 6, 36.94140625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-36.94140625 24 C-12.419691131007195 24, 12.10202398798561 24, 36.94140625 24 M-36.94140625 24 C-8.804215773582388 24, 19.332974702835223 24, 36.94140625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Star-168 transform="translate(322.50390625, 208)"><g class="basic label-container"><path d="M-26.94140625 -42 L26.94140625 -42 L26.94140625 42 L-26.94140625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-26.94140625 -42 C-14.944180628207928 -42, -2.9469550064158554 -42, 26.94140625 -42 M-26.94140625 -42 C-10.531555704920201 -42, 5.878294840159597 -42, 26.94140625 -42 M26.94140625 -42 C26.94140625 -22.422581128440125, 26.94140625 -2.8451622568802506, 26.94140625 42 M26.94140625 -42 C26.94140625 -12.006421657782113, 26.94140625 17.987156684435774, 26.94140625 42 M26.94140625 42 C11.153840365921099 42, -4.633725518157803 42, -26.94140625 42 M26.94140625 42 C5.557839916129268 42, -15.825726417741464 42, -26.94140625 42 M-26.94140625 42 C-26.94140625 14.387344910961488, -26.94140625 -13.225310178077024, -26.94140625 -42 M-26.94140625 42 C-26.94140625 18.803869619432746, -26.94140625 -4.392260761134509, -26.94140625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-14.94140625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=29.8828125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:80px;text-align:center><span class="nodeLabel markdown-node-label"><p>Star</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-14.94140625, 30)"></g><g class="methods-group text" transform="translate(-14.94140625, 60)"></g><g class=divider><path d="M-26.94140625 6 C-16.025979800840073 6, -5.110553351680146 6, 26.94140625 6 M-26.94140625 6 C-11.849305610924795 6, 3.242795028150411 6, 26.94140625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-26.94140625 24 C-5.72123202816357 24, 15.49894219367286 24, 26.94140625 24 M-26.94140625 24 C-10.877305330565655 24, 5.186795588868691 24, 26.94140625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>jgic9r</span></div><h2 id=annotations-on-classes tabindex=-1>类上的注释 <a class=header-anchor href=#annotations-on-classes aria-label='Permalink to "类上的注释 {#annotations-on-classes}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Annotations on classes<p>可以使用标记来注释类，以提供有关该类的附加元数据。这可以更清楚地表明其性质。一些常见的注释包括：<p class="p-off p-en sf-hidden">¥It is possible to annotate classes with markers to provide additional metadata about the class. This can give a clearer indication about its nature. Some common annotations include:<ul><li><p><code>&lt;&lt;Interface&gt;&gt;</code> 表示一个接口类<p class="p-off p-en sf-hidden">¥ To represent an Interface class</p><li><p><code>&lt;&lt;Abstract&gt;&gt;</code> 表示一个抽象类<p class="p-off p-en sf-hidden">¥ To represent an abstract class</p><li><p><code>&lt;&lt;Service&gt;&gt;</code> 代表一个服务类<p class="p-off p-en sf-hidden">¥ To represent a service class</p><li><p><code>&lt;&lt;Enumeration&gt;&gt;</code> 表示一个枚举<p class="p-off p-en sf-hidden">¥ To represent an enum</p></ul><p>注释在开头 <code>&lt;&lt;</code> 和结尾 <code>&gt;&gt;</code> 内定义。有两种方法可以向类添加注释，两种方法的输出都是相同的：<p class="p-off p-en sf-hidden">¥Annotations are defined within the opening and closing . There are two ways to add an annotation to a class, and either way the output will be same:<ul><li><p>在定义类之后的单独一行中：<p class="p-off p-en sf-hidden">¥In a after a class is defined:</p></ul><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class Shape
&lt;&lt;interface&gt;&gt; Shape
Shape : noOfVertices
Shape : draw()
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-748 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:172.5390625px viewBox="0 0 172.5390625 184" role="graphics-document document" aria-roledescription=class><style>#mermaid-748{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-748 p{margin:0}#mermaid-748 .nodeLabel{color:#e0dfdf}#mermaid-748 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-748 .divider{stroke:#ccc;stroke-width:1}#mermaid-748 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-748 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-748 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-748 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-748 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-748 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-748 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-748 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-748 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-748 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-748 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-748_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-748_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-748_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-748_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Shape-169 transform="translate(86.26953125, 92)"><g class="basic label-container"><path d="M-78.26953125 -84 L78.26953125 -84 L78.26953125 84 L-78.26953125 84" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-78.26953125 -84 C-40.72116757169131 -84, -3.1728038933826213 -84, 78.26953125 -84 M-78.26953125 -84 C-31.073862496877027 -84, 16.121806256245947 -84, 78.26953125 -84 M78.26953125 -84 C78.26953125 -25.405999418013927, 78.26953125 33.188001163972146, 78.26953125 84 M78.26953125 -84 C78.26953125 -34.35680318262558, 78.26953125 15.286393634748833, 78.26953125 84 M78.26953125 84 C38.665784429897926 84, -0.9379623902041487 84, -78.26953125 84 M78.26953125 84 C27.381041305475378 84, -23.507448639049244 84, -78.26953125 84 M-78.26953125 84 C-78.26953125 44.22823446509247, -78.26953125 4.45646893018494, -78.26953125 -84 M-78.26953125 84 C-78.26953125 41.58280630623389, -78.26953125 -0.8343873875322174, -78.26953125 -84" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(-41.171875, -60)"><g class=label transform=translate(0,-12)><foreignobject width=82.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:135px;text-align:center><span class="nodeLabel markdown-node-label"><p>«interface»</p></span></div></foreignobject></g></g><g class="label-group text" transform="translate(-22.3515625, -36)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-66.26953125, 12)"><g class=label transform=translate(0,-12)><foreignobject width=91.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:149px;text-align:center><span class="nodeLabel markdown-node-label"><p>noOfVertices</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-66.26953125, 60)"><g class=label transform=translate(0,-12)><foreignobject width=47.1953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>draw()</p></span></div></foreignobject></g></g><g class=divider><path d="M-78.26953125 -12 C-37.18311796999883 -12, 3.903295310002335 -12, 78.26953125 -12 M-78.26953125 -12 C-32.18230885546394 -12, 13.904913539072126 -12, 78.26953125 -12" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-78.26953125 36 C-34.4716881959991 36, 9.3261548580018 36, 78.26953125 36 M-78.26953125 36 C-27.9060595859711 36, 22.4574120780578 36, 78.26953125 36" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>26xjr8</span></div><ul><li><p>在与类定义一起的嵌套结构中：<p class="p-off p-en sf-hidden">¥In a along with the class definition:</p></ul><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class Shape{
    &lt;&lt;interface&gt;&gt;
    noOfVertices
    draw()
}
class Color{
    &lt;&lt;enumeration&gt;&gt;
    RED
    BLUE
    GREEN
    WHITE
    BLACK
}

</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-759 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:354.3984375px viewBox="0 0 354.3984375 256" role="graphics-document document" aria-roledescription=class><style>#mermaid-759{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-759 p{margin:0}#mermaid-759 .nodeLabel{color:#e0dfdf}#mermaid-759 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-759 .divider{stroke:#ccc;stroke-width:1}#mermaid-759 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-759 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-759 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-759 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-759 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-759 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-759 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-759 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-759 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-759 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-759 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-759_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-759_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-759_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-759_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Shape-170 transform="translate(86.26953125, 128)"><g class="basic label-container"><path d="M-78.26953125 -84 L78.26953125 -84 L78.26953125 84 L-78.26953125 84" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-78.26953125 -84 C-23.10366816419534 -84, 32.06219492160932 -84, 78.26953125 -84 M-78.26953125 -84 C-21.24200687953227 -84, 35.78551749093546 -84, 78.26953125 -84 M78.26953125 -84 C78.26953125 -19.28279951588965, 78.26953125 45.4344009682207, 78.26953125 84 M78.26953125 -84 C78.26953125 -35.38466118548024, 78.26953125 13.23067762903952, 78.26953125 84 M78.26953125 84 C37.737625586842206 84, -2.7942800763155873 84, -78.26953125 84 M78.26953125 84 C42.981670080936595 84, 7.693808911873191 84, -78.26953125 84 M-78.26953125 84 C-78.26953125 36.71557527199764, -78.26953125 -10.568849456004713, -78.26953125 -84 M-78.26953125 84 C-78.26953125 42.90088456812967, -78.26953125 1.8017691362593382, -78.26953125 -84" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(-41.171875, -60)"><g class=label transform=translate(0,-12)><foreignobject width=82.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:135px;text-align:center><span class="nodeLabel markdown-node-label"><p>«interface»</p></span></div></foreignobject></g></g><g class="label-group text" transform="translate(-22.3515625, -36)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-66.26953125, 12)"><g class=label transform=translate(0,-12)><foreignobject width=91.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:149px;text-align:center><span class="nodeLabel markdown-node-label"><p>noOfVertices</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-66.26953125, 60)"><g class=label transform=translate(0,-12)><foreignobject width=47.1953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>draw()</p></span></div></foreignobject></g></g><g class=divider><path d="M-78.26953125 -12 C-19.0272163549848 -12, 40.2150985400304 -12, 78.26953125 -12 M-78.26953125 -12 C-28.956747066277025 -12, 20.35603711744595 -12, 78.26953125 -12" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-78.26953125 36 C-38.267049519174876 36, 1.7354322116502487 36, 78.26953125 36 M-78.26953125 36 C-21.25370730887777 36, 35.76211663224446 36, 78.26953125 36" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Color-171 transform="translate(280.46875, 128)"><g class="basic label-container"><path d="M-65.9296875 -120 L65.9296875 -120 L65.9296875 120 L-65.9296875 120" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-65.9296875 -120 C-37.524397829771274 -120, -9.119108159542542 -120, 65.9296875 -120 M-65.9296875 -120 C-31.60007020844386 -120, 2.72954708311228 -120, 65.9296875 -120 M65.9296875 -120 C65.9296875 -38.29005898471097, 65.9296875 43.419882030578066, 65.9296875 120 M65.9296875 -120 C65.9296875 -31.023268386100412, 65.9296875 57.953463227799176, 65.9296875 120 M65.9296875 120 C30.82220176052438 120, -4.285283978951242 120, -65.9296875 120 M65.9296875 120 C27.62041942484027 120, -10.688848650319457 120, -65.9296875 120 M-65.9296875 120 C-65.9296875 69.05155956599091, -65.9296875 18.103119131981828, -65.9296875 -120 M-65.9296875 120 C-65.9296875 61.902919954583105, -65.9296875 3.8058399091662096, -65.9296875 -120" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(-53.9296875, -96)"><g class=label transform=translate(0,-12)><foreignobject width=107.859375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:166px;text-align:center><span class="nodeLabel markdown-node-label"><p>«enumeration»</p></span></div></foreignobject></g></g><g class="label-group text" transform="translate(-19.7265625, -72)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=39.453125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:92px;text-align:center><span class="nodeLabel markdown-node-label"><p>Color</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-53.9296875, -24)"><g class=label transform=translate(0,-12)><foreignobject width=27.6953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:81px;text-align:center><span class="nodeLabel markdown-node-label"><p>RED</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=36.1015625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:91px;text-align:center><span class="nodeLabel markdown-node-label"><p>BLUE</p></span></div></foreignobject></g><g class=label transform=translate(0,36)><foreignobject width=47.484375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>GREEN</p></span></div></foreignobject></g><g class=label transform=translate(0,60)><foreignobject width=46.4140625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:102px;text-align:center><span class="nodeLabel markdown-node-label"><p>WHITE</p></span></div></foreignobject></g><g class=label transform=translate(0,84)><foreignobject width=45.375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:102px;text-align:center><span class="nodeLabel markdown-node-label"><p>BLACK</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-53.9296875, 120)"></g><g class=divider><path d="M-65.9296875 -48 C-15.62918275785465 -48, 34.6713219842907 -48, 65.9296875 -48 M-65.9296875 -48 C-25.124681181657742 -48, 15.680325136684516 -48, 65.9296875 -48" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-65.9296875 96 C-28.844378233233606 96, 8.240931033532789 96, 65.9296875 96 M-65.9296875 96 C-24.336895085708484 96, 17.255897328583032 96, 65.9296875 96" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>ldi4kj</span></div><h2 id=comments tabindex=-1>注释 <a class=header-anchor href=#comments aria-label='Permalink to "注释 {#comments}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Comments<p>可以在类图中输入注释，解析器将忽略该注释。注释需要独占一行，并且必须以 <code>%%</code>（双百分号）开头。下一个换行符之前的任何文本都将被视为注释，包括任何类图语法。<p class="p-off p-en sf-hidden">¥Comments can be entered within a class diagram, which will be ignored by the parser. Comments need to be on their own line, and must be prefaced with (double percent signs). Any text until the next newline will be treated as a comment, including any class diagram syntax.<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
%% This whole line is a comment classDiagram class Shape &lt;&lt;interface&gt;&gt;
class Shape{
    &lt;&lt;interface&gt;&gt;
    noOfVertices
    draw()
}
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-772 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:172.5390625px viewBox="0 0 172.5390625 184" role="graphics-document document" aria-roledescription=class><style>#mermaid-772{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-772 p{margin:0}#mermaid-772 .nodeLabel{color:#e0dfdf}#mermaid-772 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-772 .divider{stroke:#ccc;stroke-width:1}#mermaid-772 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-772 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-772 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-772 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-772 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-772 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-772 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-772 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-772 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-772 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-772 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-772_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-772_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-772_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-772_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Shape-172 transform="translate(86.26953125, 92)"><g class="basic label-container"><path d="M-78.26953125 -84 L78.26953125 -84 L78.26953125 84 L-78.26953125 84" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-78.26953125 -84 C-42.20971303578922 -84, -6.149894821578442 -84, 78.26953125 -84 M-78.26953125 -84 C-28.529034752184486 -84, 21.211461745631027 -84, 78.26953125 -84 M78.26953125 -84 C78.26953125 -22.51325430911126, 78.26953125 38.97349138177748, 78.26953125 84 M78.26953125 -84 C78.26953125 -48.67614137326952, 78.26953125 -13.352282746539046, 78.26953125 84 M78.26953125 84 C30.8975932066843 84, -16.474344836631403 84, -78.26953125 84 M78.26953125 84 C31.478665173078674 84, -15.312200903842651 84, -78.26953125 84 M-78.26953125 84 C-78.26953125 31.19336086790024, -78.26953125 -21.613278264199522, -78.26953125 -84 M-78.26953125 84 C-78.26953125 34.39694253186772, -78.26953125 -15.206114936264555, -78.26953125 -84" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(-41.171875, -60)"><g class=label transform=translate(0,-12)><foreignobject width=82.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:135px;text-align:center><span class="nodeLabel markdown-node-label"><p>«interface»</p></span></div></foreignobject></g></g><g class="label-group text" transform="translate(-22.3515625, -36)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-66.26953125, 12)"><g class=label transform=translate(0,-12)><foreignobject width=91.3671875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:149px;text-align:center><span class="nodeLabel markdown-node-label"><p>noOfVertices</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-66.26953125, 60)"><g class=label transform=translate(0,-12)><foreignobject width=47.1953125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:99px;text-align:center><span class="nodeLabel markdown-node-label"><p>draw()</p></span></div></foreignobject></g></g><g class=divider><path d="M-78.26953125 -12 C-21.139547450285654 -12, 35.99043634942869 -12, 78.26953125 -12 M-78.26953125 -12 C-39.6405932840766 -12, -1.0116553181532026 -12, 78.26953125 -12" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-78.26953125 36 C-18.840548457014847 36, 40.588434335970305 36, 78.26953125 36 M-78.26953125 36 C-17.53471960397964 36, 43.20009204204072 36, 78.26953125 36" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>kd80pc</span></div><h2 id=setting-the-direction-of-the-diagram tabindex=-1>设置图表的方向 <a class=header-anchor href=#setting-the-direction-of-the-diagram aria-label='Permalink to "设置图表的方向 {#setting-the-direction-of-the-diagram}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Setting the direction of the diagram<p>对于类图，你可以使用方向语句来设置图渲染的方向：<p class="p-off p-en sf-hidden">¥With class diagrams you can use the direction statement to set the direction in which the diagram will render:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
  direction RL
  class Student {
    -idCard : IdCard
  }
  class IdCard{
    -id : int
    -name : string
  }
  class Bike{
    -id : int
    -name : string
  }
  Student "1" --o "1" IdCard : carries
  Student "1" --o "1" Bike : rides
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-785 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:431.12109375px viewBox="0 0 431.12109375 354" role="graphics-document document" aria-roledescription=class><style>#mermaid-785{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-785 .edge-pattern-solid{stroke-dasharray:0}#mermaid-785 p{margin:0}#mermaid-785 .nodeLabel,#mermaid-785 .edgeLabel{color:#e0dfdf}#mermaid-785 .labelBkg{background:#1f2020}#mermaid-785 .edgeLabel .label span{background:#1f2020}#mermaid-785 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-785 .divider{stroke:#ccc;stroke-width:1}#mermaid-785 .relation{stroke:lightgrey;stroke-width:1;fill:none}#mermaid-785 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-785 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-785 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-785 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-785 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-785 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-785 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-785 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-785 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-785 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-785 .edgeTerminals{font-size:11px;line-height:initial}#mermaid-785 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-785_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-785_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-785_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-785_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M257.03,117L248.571,110.833C240.113,104.667,223.195,92.333,209.525,86.167C195.855,80,185.434,80,180.223,80L175.012,80 id=id_Student_IdCard_1 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-785_class-aggregationEnd)></path><path d=M257.03,237L248.571,243.167C240.113,249.333,223.195,261.667,208.862,267.833C194.529,274,182.78,274,176.906,274L171.031,274 id=id_Student_Bike_2 class="edge-thickness-normal edge-pattern-solid relation" marker-end=url(#mermaid-785_class-aggregationEnd)></path></g><g class=edgeLabels><g class=edgeLabel transform="translate(206.27734375, 80)"><g class=label transform="translate(-24.265625, -12)"><foreignobject width=48.53125 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>carries</p></span></div></foreignobject></g></g><g class=edgeLabel transform="translate(206.27734375, 274)"><g class=label transform="translate(-17.44921875, -12)"><foreignobject width=34.8984375 height=24><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span style=display:inline-block class=edgeLabel><p>rides</p></span></div></foreignobject></g></g><g class=edgeTerminals transform="translate(251.72551485544642, 94.56987036021215)"><g class=inner transform="translate(0, 0)"><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1</span></div></foreignobject></g></g><g class=edgeTerminals transform="translate(234.05261783785255, 235.18825036021215)"><g class=inner transform="translate(0, 0)"><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1</span></div></foreignobject></g></g><g class=edgeTerminals transform="translate(169.51171937499998, 90)"><g class=inner transform="translate(0, 0)"></g><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1</span></div></foreignobject></g><g class=edgeTerminals transform="translate(165.53125, 284)"><g class=inner transform="translate(0, 0)"></g><foreignobject style=width:9px;height:12px><div style=display:inline-block;padding-right:1px;white-space:nowrap xmlns=http://www.w3.org/1999/xhtml><span class=edgeLabel style=display:inline-block>1</span></div></foreignobject></g></g><g class=nodes><g class="node default" id=classId-Student-173 transform="translate(339.33203125, 177)"><g class="basic label-container"><path d="M-83.7890625 -60 L83.7890625 -60 L83.7890625 60 L-83.7890625 60" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-83.7890625 -60 C-33.821281657370086 -60, 16.146499185259827 -60, 83.7890625 -60 M-83.7890625 -60 C-25.791814044970295 -60, 32.20543441005941 -60, 83.7890625 -60 M83.7890625 -60 C83.7890625 -28.745150309686636, 83.7890625 2.509699380626728, 83.7890625 60 M83.7890625 -60 C83.7890625 -17.65127340536911, 83.7890625 24.69745318926178, 83.7890625 60 M83.7890625 60 C38.38884018898722 60, -7.011382122025566 60, -83.7890625 60 M83.7890625 60 C42.64114217033837 60, 1.493221840676739 60, -83.7890625 60 M-83.7890625 60 C-83.7890625 30.013384253436822, -83.7890625 0.02676850687364407, -83.7890625 -60 M-83.7890625 60 C-83.7890625 26.52012431801481, -83.7890625 -6.959751363970383, -83.7890625 -60" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -36)"></g><g class="label-group text" transform="translate(-29.125, -36)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=58.25 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:110px;text-align:center><span class="nodeLabel markdown-node-label"><p>Student</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-71.7890625, 12)"><g class=label transform=translate(0,-12)><foreignobject width=114.453125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:178px;text-align:center><span class="nodeLabel markdown-node-label"><p>-idCard : IdCard</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-71.7890625, 60)"></g><g class=divider><path d="M-83.7890625 -12 C-47.30096925187365 -12, -10.812876003747306 -12, 83.7890625 -12 M-83.7890625 -12 C-26.48475127834785 -12, 30.8195599433043 -12, 83.7890625 -12" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-83.7890625 36 C-37.4705550711825 36, 8.847952357634995 36, 83.7890625 36 M-83.7890625 36 C-39.69675969667996 36, 4.395543106640076 36, 83.7890625 36" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-IdCard-174 transform="translate(82.505859375, 80)"><g class="basic label-container"><path d="M-74.505859375 -72 L74.505859375 -72 L74.505859375 72 L-74.505859375 72" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-74.505859375 -72 C-19.094358901514724 -72, 36.31714157197055 -72, 74.505859375 -72 M-74.505859375 -72 C-20.56951815262329 -72, 33.36682306975342 -72, 74.505859375 -72 M74.505859375 -72 C74.505859375 -34.61274247490874, 74.505859375 2.774515050182515, 74.505859375 72 M74.505859375 -72 C74.505859375 -14.753167157098105, 74.505859375 42.49366568580379, 74.505859375 72 M74.505859375 72 C41.61247546585757 72, 8.719091556715142 72, -74.505859375 72 M74.505859375 72 C22.19364452987781 72, -30.118570315244384 72, -74.505859375 72 M-74.505859375 72 C-74.505859375 30.916115489960923, -74.505859375 -10.167769020078154, -74.505859375 -72 M-74.505859375 72 C-74.505859375 35.04122758610991, -74.505859375 -1.9175448277801763, -74.505859375 -72" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-24.08984375, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=48.1796875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:101px;text-align:center><span class="nodeLabel markdown-node-label"><p>IdCard</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-62.505859375, 0)"><g class=label transform=translate(0,-12)><foreignobject width=54.515625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:112px;text-align:center><span class="nodeLabel markdown-node-label"><p>-id : int</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=100.921875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:164px;text-align:center><span class="nodeLabel markdown-node-label"><p>-name : string</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-62.505859375, 72)"></g><g class=divider><path d="M-74.505859375 -24 C-24.88090936850071 -24, 24.74404063799858 -24, 74.505859375 -24 M-74.505859375 -24 C-34.047102664633 -24, 6.4116540457339966 -24, 74.505859375 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-74.505859375 48 C-43.385547705659654 48, -12.265236036319308 48, 74.505859375 48 M-74.505859375 48 C-41.36764849642373 48, -8.229437617847466 48, 74.505859375 48" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default" id=classId-Bike-175 transform="translate(82.505859375, 274)"><g class="basic label-container"><path d="M-70.525390625 -72 L70.525390625 -72 L70.525390625 72 L-70.525390625 72" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-70.525390625 -72 C-41.64217046344251 -72, -12.75895030188503 -72, 70.525390625 -72 M-70.525390625 -72 C-38.6951918615987 -72, -6.864993098197409 -72, 70.525390625 -72 M70.525390625 -72 C70.525390625 -23.785937263451103, 70.525390625 24.428125473097793, 70.525390625 72 M70.525390625 -72 C70.525390625 -18.809395262740182, 70.525390625 34.381209474519636, 70.525390625 72 M70.525390625 72 C15.914893108361035 72, -38.69560440827793 72, -70.525390625 72 M70.525390625 72 C14.913747211381342 72, -40.69789620223732 72, -70.525390625 72 M-70.525390625 72 C-70.525390625 38.890479209933886, -70.525390625 5.780958419867773, -70.525390625 -72 M-70.525390625 72 C-70.525390625 19.463295447466542, -70.525390625 -33.073409105066915, -70.525390625 -72" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-16.12890625, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=32.2578125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:82px;text-align:center><span class="nodeLabel markdown-node-label"><p>Bike</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-58.525390625, 0)"><g class=label transform=translate(0,-12)><foreignobject width=54.515625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:112px;text-align:center><span class="nodeLabel markdown-node-label"><p>-id : int</p></span></div></foreignobject></g><g class=label transform=translate(0,12)><foreignobject width=100.921875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:164px;text-align:center><span class="nodeLabel markdown-node-label"><p>-name : string</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-58.525390625, 72)"></g><g class=divider><path d="M-70.525390625 -24 C-25.923331666428503 -24, 18.678727292142995 -24, 70.525390625 -24 M-70.525390625 -24 C-15.064170217216855 -24, 40.39705019056629 -24, 70.525390625 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-70.525390625 48 C-25.009944252769955 48, 20.50550211946009 48, 70.525390625 48 M-70.525390625 48 C-23.80789861827288 48, 22.90959338845424 48, 70.525390625 48" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>vmx8c2</span></div><h2 id=interaction tabindex=-1>相互作用 <a class=header-anchor href=#interaction aria-label='Permalink to "相互作用 {#interaction}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Interaction<p>可以将单击事件绑定到节点。单击可能会导致 JavaScript 回调或导致在新浏览器选项卡中打开的链接。注意：使用 <code>securityLevel='strict'</code> 时禁用此功能，使用 <code>securityLevel='loose'</code> 时启用此功能。<p class="p-off p-en sf-hidden">¥It is possible to bind a click event to a node. The click can lead to either a javascript callback or to a link which will be opened in a new browser tab. : This functionality is disabled when using and enabled when using .<p>声明所有类后，你可以在单独的行上定义这些操作。<p class="p-off p-en sf-hidden">¥You would define these actions on a separate line after all classes have been declared.<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>action className "reference" "tooltip"</span></span>
<span class=line><span>click className call callback() "tooltip"</span></span>
<span class=line><span>click className href "url" "tooltip"</span></span></code></pre></div><ul><li><p>action 是 <code>link</code> 或 <code>callback</code>，具体取决于你想要调用的交互类型<p class="p-off p-en sf-hidden">¥ is either or , depending on which type of interaction you want to have called</p><li><p>className 是与操作关联的节点的 id<p class="p-off p-en sf-hidden">¥ is the id of the node that the action will be associated with</p><li><p>Reference 可以是 url 链接，也可以是回调的函数名称。<p class="p-off p-en sf-hidden">¥ is either the url link, or the function name for callback.</p><li><p>（可选）工具提示是悬停在元素上时显示的字符串（注意：工具提示的样式由 .mermaidTooltip 类设置。）<p class="p-off p-en sf-hidden">¥() tooltip is a string to be displayed when hovering over element (note: The styles of the tooltip are set by the class .mermaidTooltip.)</p><li><p>注意：将以 nodeId 作为参数调用回调函数。<p class="p-off p-en sf-hidden">¥note: callback function will be called with the nodeId as parameter.</p></ul><h2 id=notes tabindex=-1>注意 <a class=header-anchor href=#notes aria-label='Permalink to "注意 {#notes}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Notes<p>可以使用 <code>note "line1\nline2"</code> 在图表上添加注释。可以使用 <code>note for &lt;CLASS NAME&gt; "line1\nline2"</code> 为特定类添加注释。<p class="p-off p-en sf-hidden">¥It is possible to add notes on the diagram using . A note can be added for a specific class using .<h3 id=examples tabindex=-1>示例 <a class=header-anchor href=#examples aria-label='Permalink to "示例 {#examples}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Examples<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    note "This is a general note"
    note for MyClass "This is a note for a class"
    class MyClass{
    }
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-865 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:416.7265625px viewBox="0 0 416.7265625 186" role="graphics-document document" aria-roledescription=class><style>#mermaid-865{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-865 .edge-pattern-dotted{stroke-dasharray:2}#mermaid-865 p{margin:0}#mermaid-865 .nodeLabel,#mermaid-865 .edgeLabel{color:#e0dfdf}#mermaid-865 .labelBkg{background:#1f2020}#mermaid-865 .edgeLabel .label span{background:#1f2020}#mermaid-865 .node rect,#mermaid-865 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-865 .divider{stroke:#ccc;stroke-width:1}#mermaid-865 .relation{stroke:lightgrey;stroke-width:1}#mermaid-865 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-865 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-865 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-865 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-865 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-865 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-865 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-865 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-865 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-865 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-865 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-865_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-865_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-865_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-865_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths><path d=M316.246,44L316.246,48.167C316.246,52.333,316.246,60.667,316.246,69C316.246,77.333,316.246,85.667,316.246,89.833L316.246,94 id=edgeNote2 class="edge-thickness-normal edge-pattern-dotted relation" style=fill:none></path></g><g class=edgeLabels><g class=edgeLabel><g class=label transform="translate(0, 0)"><foreignobject width=0 height=0><div style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:200px;text-align:center xmlns=http://www.w3.org/1999/xhtml class=labelBkg><span class=edgeLabel></span></div></foreignobject></g></g></g><g class=nodes><g class="node default" id=classId-MyClass-176 transform="translate(316.24609375, 136)"><g class="basic label-container"><path d="M-40.63671875 -42 L40.63671875 -42 L40.63671875 42 L-40.63671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-40.63671875 -42 C-17.152060997438532 -42, 6.332596755122935 -42, 40.63671875 -42 M-40.63671875 -42 C-13.262833720554575 -42, 14.11105130889085 -42, 40.63671875 -42 M40.63671875 -42 C40.63671875 -17.08317469933232, 40.63671875 7.833650601335357, 40.63671875 42 M40.63671875 -42 C40.63671875 -20.19731192674218, 40.63671875 1.6053761465156384, 40.63671875 42 M40.63671875 42 C17.744572825410636 42, -5.147573099178729 42, -40.63671875 42 M40.63671875 42 C12.094198244681142 42, -16.448322260637717 42, -40.63671875 42 M-40.63671875 42 C-40.63671875 11.704666222340503, -40.63671875 -18.590667555318994, -40.63671875 -42 M-40.63671875 42 C-40.63671875 8.615891136703432, -40.63671875 -24.768217726593136, -40.63671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-28.63671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=57.2734375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:114px;text-align:center><span class="nodeLabel markdown-node-label"><p>MyClass</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-28.63671875, 30)"></g><g class="methods-group text" transform="translate(-28.63671875, 60)"></g><g class=divider><path d="M-40.63671875 6 C-11.342310977646797 6, 17.952096794706407 6, 40.63671875 6 M-40.63671875 6 C-8.67799707402423 6, 23.28072460195154 6, 40.63671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-40.63671875 24 C-17.13405874812903 24, 6.368601253741943 24, 40.63671875 24 M-40.63671875 24 C-23.117495322516437 24, -5.598271895032873 24, 40.63671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node undefined" id=note0 transform="translate(90.8828125, 26)"><g class="basic label-container"><path d="M-82.8828125 -18 L82.8828125 -18 L82.8828125 18 L-82.8828125 18" stroke=none stroke-width=0 fill="hsl(180, 1.5873015873%, 28.3529411765%)" style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path><path d="M-82.8828125 -18 C-29.335345203211006 -18, 24.21212209357799 -18, 82.8828125 -18 M-82.8828125 -18 C-26.221035409902036 -18, 30.440741680195927 -18, 82.8828125 -18 M82.8828125 -18 C82.8828125 -10.392415838878454, 82.8828125 -2.784831677756909, 82.8828125 18 M82.8828125 -18 C82.8828125 -4.166551202567751, 82.8828125 9.666897594864498, 82.8828125 18 M82.8828125 18 C20.853719022978197 18, -41.175374454043606 18, -82.8828125 18 M82.8828125 18 C31.756528325132848 18, -19.369755849734304 18, -82.8828125 18 M-82.8828125 18 C-82.8828125 4.243052992032361, -82.8828125 -9.513894015935279, -82.8828125 -18 M-82.8828125 18 C-82.8828125 6.724812742461591, -82.8828125 -4.550374515076818, -82.8828125 -18" stroke="hsl(180, 0%, 18.3529411765%)" stroke-width=1.3 fill=none style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path></g><g class=label style=text-align:left!important;white-space:nowrap!important transform="translate(-76.8828125, -12)"><rect></rect><foreignobject width=153.765625 height=24><div style=text-align:center;white-space:nowrap;display:table-cell;line-height:1.5;max-width:200px xmlns=http://www.w3.org/1999/xhtml><span style=text-align:left!important;white-space:nowrap!important class=nodeLabel><p>This is a general note</p></span></div></foreignobject></g></g><g class="node undefined" id=note1 transform="translate(316.24609375, 26)"><g class="basic label-container"><path d="M-92.48046875 -18 L92.48046875 -18 L92.48046875 18 L-92.48046875 18" stroke=none stroke-width=0 fill="hsl(180, 1.5873015873%, 28.3529411765%)" style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path><path d="M-92.48046875 -18 C-33.30657601611757 -18, 25.867316717764865 -18, 92.48046875 -18 M-92.48046875 -18 C-40.06407085958883 -18, 12.352327030822337 -18, 92.48046875 -18 M92.48046875 -18 C92.48046875 -10.041663566830454, 92.48046875 -2.0833271336609105, 92.48046875 18 M92.48046875 -18 C92.48046875 -3.912817406799496, 92.48046875 10.174365186401008, 92.48046875 18 M92.48046875 18 C21.24116587946422 18, -49.99813699107156 18, -92.48046875 18 M92.48046875 18 C21.836194128871867 18, -48.808080492256266 18, -92.48046875 18 M-92.48046875 18 C-92.48046875 4.581625487034476, -92.48046875 -8.836749025931049, -92.48046875 -18 M-92.48046875 18 C-92.48046875 5.603110957991072, -92.48046875 -6.793778084017855, -92.48046875 -18" stroke="hsl(180, 0%, 18.3529411765%)" stroke-width=1.3 fill=none style=fill:hsl(180,1.5873015873%,28.3529411765%)!important;stroke:hsl(180,0%,18.3529411765%)!important></path></g><g class=label style=text-align:left!important;white-space:nowrap!important transform="translate(-86.48046875, -12)"><rect></rect><foreignobject width=172.9609375 height=24><div style=text-align:center;white-space:nowrap;display:table-cell;line-height:1.5;max-width:200px xmlns=http://www.w3.org/1999/xhtml><span style=text-align:left!important;white-space:nowrap!important class=nodeLabel><p>This is a note for a class</p></span></div></foreignobject></g></g></g></g></g></svg> <span style=display:none>hdf1kh</span></div><p>网址链接：<p class="p-off p-en sf-hidden">¥<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class Shape
link Shape "https://www.github.com" "This is a tooltip for a link"
class Shape2
click Shape2 href "https://www.github.com" "This is a tooltip for a link"
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-872 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:212.78125px viewBox="0 0 212.78125 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-872{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-872 p{margin:0}#mermaid-872 .nodeLabel{color:#e0dfdf}#mermaid-872 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-872 .divider{stroke:#ccc;stroke-width:1}#mermaid-872 g.clickable{cursor:pointer}#mermaid-872 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-872 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-872 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-872 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-872 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-872 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-872 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-872 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-872 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-872 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-872 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-872_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-872_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-872_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-872_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><a xlink:href=https://www.github.com target=_blank transform="translate(42.3515625, 50)"><g class="node default clickable" id=classId-Shape-177 title="This is a tooltip for a link"><g class="basic label-container"><path d="M-34.3515625 -42 L34.3515625 -42 L34.3515625 42 L-34.3515625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.3515625 -42 C-11.882704140833418 -42, 10.586154218333164 -42, 34.3515625 -42 M-34.3515625 -42 C-20.25087965945942 -42, -6.150196818918847 -42, 34.3515625 -42 M34.3515625 -42 C34.3515625 -18.304137949703993, 34.3515625 5.391724100592015, 34.3515625 42 M34.3515625 -42 C34.3515625 -19.535190123639076, 34.3515625 2.929619752721848, 34.3515625 42 M34.3515625 42 C15.638645004588206 42, -3.0742724908235886 42, -34.3515625 42 M34.3515625 42 C7.206246921956659 42, -19.939068656086683 42, -34.3515625 42 M-34.3515625 42 C-34.3515625 24.607744778528385, -34.3515625 7.21548955705677, -34.3515625 -42 M-34.3515625 42 C-34.3515625 25.108598692533523, -34.3515625 8.217197385067045, -34.3515625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.3515625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.3515625, 30)"></g><g class="methods-group text" transform="translate(-22.3515625, 60)"></g><g class=divider><path d="M-34.3515625 6 C-7.945822978841935 6, 18.45991654231613 6, 34.3515625 6 M-34.3515625 6 C-18.944668804539575 6, -3.5377751090791456 6, 34.3515625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.3515625 24 C-7.252886431860894 24, 19.845789636278212 24, 34.3515625 24 M-34.3515625 24 C-13.225342740586864 24, 7.900877018826272 24, 34.3515625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></a><a xlink:href=https://www.github.com target=_blank transform="translate(165.7421875, 50)"><g class="node default clickable" id=classId-Shape2-178 title="This is a tooltip for a link"><g class="basic label-container"><path d="M-39.0390625 -42 L39.0390625 -42 L39.0390625 42 L-39.0390625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.0390625 -42 C-16.759222823297463 -42, 5.520616853405073 -42, 39.0390625 -42 M-39.0390625 -42 C-16.09415688104202 -42, 6.850748737915957 -42, 39.0390625 -42 M39.0390625 -42 C39.0390625 -14.01001762999907, 39.0390625 13.979964740001861, 39.0390625 42 M39.0390625 -42 C39.0390625 -23.648976859531672, 39.0390625 -5.297953719063344, 39.0390625 42 M39.0390625 42 C12.071995359590602 42, -14.895071780818796 42, -39.0390625 42 M39.0390625 42 C22.175586503617104 42, 5.312110507234209 42, -39.0390625 42 M-39.0390625 42 C-39.0390625 10.924228503799096, -39.0390625 -20.151542992401808, -39.0390625 -42 M-39.0390625 42 C-39.0390625 8.403514290471293, -39.0390625 -25.192971419057415, -39.0390625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.0390625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=54.078125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:107px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape2</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.0390625, 30)"></g><g class="methods-group text" transform="translate(-27.0390625, 60)"></g><g class=divider><path d="M-39.0390625 6 C-17.743893101330936 6, 3.551276297338127 6, 39.0390625 6 M-39.0390625 6 C-20.24097089842288 6, -1.44287929684576 6, 39.0390625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.0390625 24 C-7.994633722016683 24, 23.049795055966634 24, 39.0390625 24 M-39.0390625 24 C-19.97790438498751 24, -0.9167462699750217 24, 39.0390625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></a></g></g></g></svg> <span style=display:none>98wyc6</span></div><p>回调：<p class="p-off p-en sf-hidden">¥<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
class Shape
callback Shape "callbackFunction" "This is a tooltip for a callback"
class Shape2
click Shape2 call callbackFunction() "This is a tooltip for a callback"
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-879 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:212.78125px viewBox="0 0 212.78125 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-879{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-879 p{margin:0}#mermaid-879 .nodeLabel{color:#e0dfdf}#mermaid-879 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-879 .divider{stroke:#ccc;stroke-width:1}#mermaid-879 g.clickable{cursor:pointer}#mermaid-879 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-879 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-879 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-879 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-879 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-879 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-879 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-879 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-879 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-879 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-879 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-879_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-879_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-879_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-879_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default clickable" id=classId-Shape-179 title="This is a tooltip for a callback" transform="translate(42.3515625, 50)"><g class="basic label-container"><path d="M-34.3515625 -42 L34.3515625 -42 L34.3515625 42 L-34.3515625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-34.3515625 -42 C-7.409908428771246 -42, 19.53174564245751 -42, 34.3515625 -42 M-34.3515625 -42 C-7.7166022476278116 -42, 18.918358004744377 -42, 34.3515625 -42 M34.3515625 -42 C34.3515625 -17.42877937568584, 34.3515625 7.142441248628323, 34.3515625 42 M34.3515625 -42 C34.3515625 -23.75520185592161, 34.3515625 -5.510403711843217, 34.3515625 42 M34.3515625 42 C17.002622312324586 42, -0.34631787535082736 42, -34.3515625 42 M34.3515625 42 C19.808158384537336 42, 5.264754269074668 42, -34.3515625 42 M-34.3515625 42 C-34.3515625 14.027191734610895, -34.3515625 -13.94561653077821, -34.3515625 -42 M-34.3515625 42 C-34.3515625 13.003590741821476, -34.3515625 -15.992818516357048, -34.3515625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-22.3515625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=44.703125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:97px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-22.3515625, 30)"></g><g class="methods-group text" transform="translate(-22.3515625, 60)"></g><g class=divider><path d="M-34.3515625 6 C-8.713942916575363 6, 16.923676666849275 6, 34.3515625 6 M-34.3515625 6 C-18.800753251091898 6, -3.249944002183792 6, 34.3515625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-34.3515625 24 C-8.40064530153876 24, 17.55027189692248 24, 34.3515625 24 M-34.3515625 24 C-17.406266591731814 24, -0.46097068346362846 24, 34.3515625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><g class="node default clickable" id=classId-Shape2-180 title="This is a tooltip for a callback" transform="translate(165.7421875, 50)"><g class="basic label-container"><path d="M-39.0390625 -42 L39.0390625 -42 L39.0390625 42 L-39.0390625 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.0390625 -42 C-11.474619147167868 -42, 16.089824205664264 -42, 39.0390625 -42 M-39.0390625 -42 C-19.123773675507728 -42, 0.7915151489845442 -42, 39.0390625 -42 M39.0390625 -42 C39.0390625 -21.433237685658565, 39.0390625 -0.8664753713171294, 39.0390625 42 M39.0390625 -42 C39.0390625 -17.902608913657332, 39.0390625 6.194782172685336, 39.0390625 42 M39.0390625 42 C22.301766769068998 42, 5.564471038137995 42, -39.0390625 42 M39.0390625 42 C22.667802079842684 42, 6.296541659685367 42, -39.0390625 42 M-39.0390625 42 C-39.0390625 12.324455102845505, -39.0390625 -17.35108979430899, -39.0390625 -42 M-39.0390625 42 C-39.0390625 11.815157200050667, -39.0390625 -18.369685599898666, -39.0390625 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.0390625, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=54.078125 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:107px;text-align:center><span class="nodeLabel markdown-node-label"><p>Shape2</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.0390625, 30)"></g><g class="methods-group text" transform="translate(-27.0390625, 60)"></g><g class=divider><path d="M-39.0390625 6 C-19.894352841436366 6, -0.749643182872731 6, 39.0390625 6 M-39.0390625 6 C-21.940222176626435 6, -4.841381853252869 6, 39.0390625 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.0390625 24 C-23.000588620260288 24, -6.962114740520576 24, 39.0390625 24 M-39.0390625 24 C-9.498141276947866 24, 20.042779946104268 24, 39.0390625 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>2z3it</span></div><div class="language-html vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang>html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&lt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>script</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line><span style=--shiki-light:#D73A49;--shiki-dark:#F97583>  const</span><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0> callbackFunction</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> =</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> function</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8> () {</span></span>
<span class=line><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0>    alert</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>(</span><span style=--shiki-light:#032F62;--shiki-dark:#9ECBFF>'A callback was triggered'</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>);</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>  };</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&lt;/</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>script</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span></code></pre></div><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class Class01
    class Class02
    callback Class01 "callbackFunction" "Callback tooltip"
    link Class02 "https://www.github.com" "This is a link"
    class Class03
    class Class04
    click Class03 call callbackFunction() "Callback tooltip"
    click Class04 href "https://www.github.com" "This is a link"
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-881 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:484.25px viewBox="0 0 484.25 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-881{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-881 p{margin:0}#mermaid-881 .nodeLabel{color:#e0dfdf}#mermaid-881 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-881 .divider{stroke:#ccc;stroke-width:1}#mermaid-881 g.clickable{cursor:pointer}#mermaid-881 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-881 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-881 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-881 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-881 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-881 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-881 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-881 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-881 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-881 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-881 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-881_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-881_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-881_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-881_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default clickable" id=classId-Class01-181 title="Callback tooltip" transform="translate(47.78125, 50)"><g class="basic label-container"><path d="M-39.78125 -42 L39.78125 -42 L39.78125 42 L-39.78125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.78125 -42 C-23.776527853013363 -42, -7.771805706026726 -42, 39.78125 -42 M-39.78125 -42 C-21.186754279429845 -42, -2.5922585588596903 -42, 39.78125 -42 M39.78125 -42 C39.78125 -14.078545134974728, 39.78125 13.842909730050543, 39.78125 42 M39.78125 -42 C39.78125 -16.82274106569145, 39.78125 8.354517868617101, 39.78125 42 M39.78125 42 C14.512620367797162 42, -10.756009264405677 42, -39.78125 42 M39.78125 42 C19.250741056617297 42, -1.2797678867654056 42, -39.78125 42 M-39.78125 42 C-39.78125 8.959966313995253, -39.78125 -24.080067372009495, -39.78125 -42 M-39.78125 42 C-39.78125 21.930231932726166, -39.78125 1.8604638654523313, -39.78125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.78125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=55.5625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:108px;text-align:center><span class="nodeLabel markdown-node-label"><p>Class01</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.78125, 30)"></g><g class="methods-group text" transform="translate(-27.78125, 60)"></g><g class=divider><path d="M-39.78125 6 C-13.353805242692783 6, 13.073639514614435 6, 39.78125 6 M-39.78125 6 C-20.403081035310684 6, -1.0249120706213688 6, 39.78125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.78125 24 C-22.034571439343388 24, -4.287892878686776 24, 39.78125 24 M-39.78125 24 C-19.039423152882943 24, 1.702403694234114 24, 39.78125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><a xlink:href=https://www.github.com target=_blank transform="translate(177.34375, 50)"><g class="node default clickable" id=classId-Class02-182 title="This is a link"><g class="basic label-container"><path d="M-39.78125 -42 L39.78125 -42 L39.78125 42 L-39.78125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.78125 -42 C-11.290557923800325 -42, 17.20013415239935 -42, 39.78125 -42 M-39.78125 -42 C-20.512025902523263 -42, -1.2428018050465255 -42, 39.78125 -42 M39.78125 -42 C39.78125 -22.60065579076189, 39.78125 -3.2013115815237825, 39.78125 42 M39.78125 -42 C39.78125 -10.578840396874565, 39.78125 20.84231920625087, 39.78125 42 M39.78125 42 C12.209178337437994 42, -15.362893325124013 42, -39.78125 42 M39.78125 42 C9.578465803268763 42, -20.624318393462474 42, -39.78125 42 M-39.78125 42 C-39.78125 16.289127349456987, -39.78125 -9.421745301086027, -39.78125 -42 M-39.78125 42 C-39.78125 9.542478579149083, -39.78125 -22.915042841701833, -39.78125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.78125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=55.5625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:111px;text-align:center><span class="nodeLabel markdown-node-label"><p>Class02</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.78125, 30)"></g><g class="methods-group text" transform="translate(-27.78125, 60)"></g><g class=divider><path d="M-39.78125 6 C-11.351906295665106 6, 17.077437408669788 6, 39.78125 6 M-39.78125 6 C-16.792037866991336 6, 6.197174266017328 6, 39.78125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.78125 24 C-13.197497892647771 24, 13.386254214704458 24, 39.78125 24 M-39.78125 24 C-18.35950085403472 24, 3.0622482919305583 24, 39.78125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></a><g class="node default clickable" id=classId-Class03-183 title="Callback tooltip" transform="translate(306.90625, 50)"><g class="basic label-container"><path d="M-39.78125 -42 L39.78125 -42 L39.78125 42 L-39.78125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.78125 -42 C-18.150484559743234 -42, 3.480280880513533 -42, 39.78125 -42 M-39.78125 -42 C-10.527146910042848 -42, 18.726956179914303 -42, 39.78125 -42 M39.78125 -42 C39.78125 -22.925629618105912, 39.78125 -3.851259236211824, 39.78125 42 M39.78125 -42 C39.78125 -11.459248120926262, 39.78125 19.081503758147477, 39.78125 42 M39.78125 42 C9.258213946832356 42, -21.264822106335288 42, -39.78125 42 M39.78125 42 C18.850609236460986 42, -2.0800315270780274 42, -39.78125 42 M-39.78125 42 C-39.78125 12.024216113755074, -39.78125 -17.951567772489852, -39.78125 -42 M-39.78125 42 C-39.78125 21.178370464978627, -39.78125 0.3567409299572546, -39.78125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.78125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=55.5625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:111px;text-align:center><span class="nodeLabel markdown-node-label"><p>Class03</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.78125, 30)"></g><g class="methods-group text" transform="translate(-27.78125, 60)"></g><g class=divider><path d="M-39.78125 6 C-9.543556527137742 6, 20.694136945724516 6, 39.78125 6 M-39.78125 6 C-9.431390755622079 6, 20.918468488755842 6, 39.78125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.78125 24 C-18.75298349064754 24, 2.2752830187049184 24, 39.78125 24 M-39.78125 24 C-13.43505286210302 24, 12.911144275793959 24, 39.78125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g><a xlink:href=https://www.github.com target=_blank transform="translate(436.46875, 50)"><g class="node default clickable" id=classId-Class04-184 title="This is a link"><g class="basic label-container"><path d="M-39.78125 -42 L39.78125 -42 L39.78125 42 L-39.78125 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-39.78125 -42 C-22.00023594826936 -42, -4.21922189653872 -42, 39.78125 -42 M-39.78125 -42 C-17.385025918927447 -42, 5.0111981621451065 -42, 39.78125 -42 M39.78125 -42 C39.78125 -16.0389598607015, 39.78125 9.922080278597, 39.78125 42 M39.78125 -42 C39.78125 -10.282400475545757, 39.78125 21.435199048908487, 39.78125 42 M39.78125 42 C13.75364036052094 42, -12.27396927895812 42, -39.78125 42 M39.78125 42 C21.089950025426933 42, 2.398650050853867 42, -39.78125 42 M-39.78125 42 C-39.78125 16.49778200635267, -39.78125 -9.004435987294663, -39.78125 -42 M-39.78125 42 C-39.78125 20.930652438610938, -39.78125 -0.1386951227781239, -39.78125 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.78125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=55.5625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:111px;text-align:center><span class="nodeLabel markdown-node-label"><p>Class04</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.78125, 30)"></g><g class="methods-group text" transform="translate(-27.78125, 60)"></g><g class=divider><path d="M-39.78125 6 C-16.490054774110337 6, 6.801140451779325 6, 39.78125 6 M-39.78125 6 C-19.583339419502607 6, 0.6145711609947853 6, 39.78125 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-39.78125 24 C-23.256350400222644 24, -6.7314508004452875 24, 39.78125 24 M-39.78125 24 C-22.212441066943153 24, -4.643632133886307 24, 39.78125 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></a></g></g></g></svg> <span style=display:none>sw3cav</span></div><blockquote><p><strong>成功</strong> 工具提示功能和链接到 URL 的功能从 0.5.2 版本开始提供。<p class="p-off p-en sf-hidden">¥The tooltip functionality and the ability to link to urls are available from version 0.5.2.</p></blockquote><p>初学者提示 — 在 HTML 页面中使用交互式链接的完整示例：<p class="p-off p-en sf-hidden">¥Beginner's tip—a full example using interactive links in an HTML page:<div class="language-html vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang>html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&lt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>body</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>  &lt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>pre</span><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0> class</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>=</span><span style=--shiki-light:#032F62;--shiki-dark:#9ECBFF>"mermaid"</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    classDiagram</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal </span><span style=--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic>&lt;</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>|-- Duck</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal </span><span style=--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic>&lt;</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>|-- Fish</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal </span><span style=--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic>&lt;</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>|-- Zebra</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal : +int age</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal : +String gender</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal: +isMammal()</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    Animal: +mate()</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    class Duck{</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      +String beakColor</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      +swim()</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      +quack()</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      }</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    class Fish{</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      -int sizeInFeet</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      -canEat()</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      }</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    class Zebra{</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      +bool is_wild</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      +run()</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      }</span></span>
<span class=line></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      callback Duck callback "Tooltip"</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      link Zebra "https://www.github.com" "This is a link"</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>  &lt;/</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>pre</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>  &lt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>script</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line><span style=--shiki-light:#D73A49;--shiki-dark:#F97583>    const</span><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0> callback</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> =</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> function</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8> () {</span></span>
<span class=line><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0>      alert</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>(</span><span style=--shiki-light:#032F62;--shiki-dark:#9ECBFF>'A callback was triggered'</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>);</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    };</span></span>
<span class=line><span style=--shiki-light:#D73A49;--shiki-dark:#F97583>    const</span><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF> config</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> =</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8> {</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      startOnLoad: </span><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>true</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>,</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>      securityLevel: </span><span style=--shiki-light:#032F62;--shiki-dark:#9ECBFF>'loose'</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>,</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    };</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>    mermaid.</span><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0>initialize</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>(config);</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>  &lt;/</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>script</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&lt;/</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>body</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span></code></pre></div><h2 id=styling tabindex=-1>样式 <a class=header-anchor href=#styling aria-label='Permalink to "样式 {#styling}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Styling<h3 id=styling-a-node tabindex=-1>设置节点样式 <a class=header-anchor href=#styling-a-node aria-label='Permalink to "设置节点样式 {#styling-a-node}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Styling a node<p>可以使用 <code>style</code> 关键字将特定样式（例如较粗的边框或不同的背景颜色）应用于单个节点。<p class="p-off p-en sf-hidden">¥It is possible to apply specific styles such as a thicker border or a different background color to an individual node using the keyword.<p>请注意，注释和命名空间不能单独设置样式，但支持主题。<p class="p-off p-en sf-hidden">¥Note that notes and namespaces cannot be styled individually but do support themes.<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
  class Animal
  class Mineral
  style Animal fill:#f9f,stroke:#333,stroke-width:4px
  style Mineral fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-921 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:220.2578125px viewBox="0 0 220.2578125 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-921{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-921 p{margin:0}#mermaid-921 .nodeLabel{color:#e0dfdf}#mermaid-921 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-921 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-921 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-921 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-921 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-921 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-921 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-921 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-921 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-921 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-921 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-921_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-921_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-921_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-921_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Animal-185 transform="translate(45.671875, 50)"><g class="basic label-container"><path d="M-37.671875 -42 L37.671875 -42 L37.671875 42 L-37.671875 42" stroke=none stroke-width=0 fill=#f9f style=fill:#f9f;stroke:#333;stroke-width:4px></path><path d="M-37.671875 -42 C-16.706369025577956 -42, 4.2591369488440876 -42, 37.671875 -42 M-37.671875 -42 C-21.930992724334644 -42, -6.190110448669287 -42, 37.671875 -42 M37.671875 -42 C37.671875 -22.016214613071647, 37.671875 -2.032429226143293, 37.671875 42 M37.671875 -42 C37.671875 -16.140095641699705, 37.671875 9.719808716600589, 37.671875 42 M37.671875 42 C13.968659841283937 42, -9.734555317432125 42, -37.671875 42 M37.671875 42 C9.935757823421817 42, -17.800359353156367 42, -37.671875 42 M-37.671875 42 C-37.671875 11.849732347323055, -37.671875 -18.30053530535389, -37.671875 -42 M-37.671875 42 C-37.671875 18.249532196763536, -37.671875 -5.500935606472929, -37.671875 -42" stroke=#333 stroke-width=4 fill=none style=fill:#f9f;stroke:#333;stroke-width:4px></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f9f;stroke:#333;stroke-width:4px><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.671875, 30)"></g><g class="methods-group text" transform="translate(-25.671875, 60)"></g><g class=divider style=fill:#f9f;stroke:#333;stroke-width:4px><path d="M-37.671875 6 C-18.14736008741307 6, 1.3771548251738608 6, 37.671875 6 M-37.671875 6 C-10.348026025375646 6, 16.97582294924871 6, 37.671875 6" stroke=#333 stroke-width=4 fill=none style=fill:#f9f;stroke:#333;stroke-width:4px></path></g><g class=divider style=fill:#f9f;stroke:#333;stroke-width:4px><path d="M-37.671875 24 C-12.706149282178558 24, 12.259576435642884 24, 37.671875 24 M-37.671875 24 C-20.380691713278733 24, -3.0895084265574653 24, 37.671875 24" stroke=#333 stroke-width=4 fill=none style=fill:#f9f;stroke:#333;stroke-width:4px></path></g></g><g class="node default" id=classId-Mineral-186 transform="translate(172.80078125, 50)"><g class="basic label-container"><path d="M-39.45703125 -42 L39.45703125 -42 L39.45703125 42 L-39.45703125 42" stroke=none stroke-width=0 fill=#bbf style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"></path><path d="M-39.45703125 -42 C-13.183803860255399 -42, 13.089423529489203 -42, 39.45703125 -42 M-39.45703125 -42 C-17.07310384590874 -42, 5.31082355818252 -42, 39.45703125 -42 M39.45703125 -42 C39.45703125 -8.880444404703276, 39.45703125 24.239111190593448, 39.45703125 42 M39.45703125 -42 C39.45703125 -10.372547217884609, 39.45703125 21.254905564230782, 39.45703125 42 M39.45703125 42 C22.556985360661162 42, 5.656939471322325 42, -39.45703125 42 M39.45703125 42 C17.84006901468236 42, -3.77689322063528 42, -39.45703125 42 M-39.45703125 42 C-39.45703125 22.123915898544343, -39.45703125 2.2478317970886863, -39.45703125 -42 M-39.45703125 42 C-39.45703125 8.990607210495199, -39.45703125 -24.018785579009602, -39.45703125 -42" stroke=#f66 stroke-width=2 fill=none style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.45703125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=54.9140625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:108px;text-align:center><span class="nodeLabel markdown-node-label" style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"><p>Mineral</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.45703125, 30)"></g><g class="methods-group text" transform="translate(-27.45703125, 60)"></g><g class=divider style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"><path d="M-39.45703125 6 C-12.879099917661144 6, 13.698831414677713 6, 39.45703125 6 M-39.45703125 6 C-16.91861508173335 6, 5.6198010865333 6, 39.45703125 6" stroke=#f66 stroke-width=2 fill=none style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"></path></g><g class=divider style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"><path d="M-39.45703125 24 C-13.19393012557607 24, 13.06917099884786 24, 39.45703125 24 M-39.45703125 24 C-9.83830018077969 24, 19.78043088844062 24, 39.45703125 24" stroke=#f66 stroke-width=2 fill=none style="fill:#bbf;stroke:#f66;stroke-width:2px;color:#fff;stroke-dasharray:5 5"></path></g></g></g></g></g></svg> <span style=display:none>paxs7a</span></div><h4 id=classes tabindex=-1>类 <a class=header-anchor href=#classes aria-label='Permalink to "类 {#classes}"'>​</a></h4><p class="p-off p-en sf-hidden">¥Classes<p>比每次定义样式更方便的是定义一类样式并将该类附加到应该具有不同外观的节点。<p class="p-off p-en sf-hidden">¥More convenient than defining the style every time is to define a class of styles and attach this class to the nodes that should have a different look.<p>类定义如下例所示：<p class="p-off p-en sf-hidden">¥A class definition looks like the example below:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>classDef className fill:#f9f,stroke:#333,stroke-width:4px;</span></span></code></pre></div><p>此外，还可以在一条语句中为多个类定义样式：<p class="p-off p-en sf-hidden">¥Also, it is possible to define style to multiple classes in one statement:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>classDef firstClassName,secondClassName font-size:12pt;</span></span></code></pre></div><p>将类附加到节点的操作如下：<p class="p-off p-en sf-hidden">¥Attachment of a class to a node is done as per below:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>cssClass "nodeId1" className;</span></span></code></pre></div><p>还可以在一条语句中将一个类附加到节点列表：<p class="p-off p-en sf-hidden">¥It is also possible to attach a class to a list of nodes in one statement:<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>cssClass "nodeId1,nodeId2" className;</span></span></code></pre></div><p>添加类的更简短形式是使用 <code>:::</code> 运算符将类名附加到节点：<p class="p-off p-en sf-hidden">¥A shorter form of adding a class is to attach the classname to the node using the operator:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class Animal:::someclass
    classDef someclass fill:#f96
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-968 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:91.34375px viewBox="0 0 91.34375 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-968{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-968 p{margin:0}#mermaid-968 .nodeLabel{color:#e0dfdf}#mermaid-968 .node path{stroke:#ccc;stroke-width:1px}#mermaid-968 .divider{stroke:#ccc;stroke-width:1}#mermaid-968 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-968 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-968 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-968 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-968 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-968 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-968 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-968 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-968 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-968 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-968 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-968_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-968_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-968_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-968_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default someclass" id=classId-Animal-187 transform="translate(45.671875, 50)"><g class="basic label-container"><path d="M-37.671875 -42 L37.671875 -42 L37.671875 42 L-37.671875 42" stroke=none stroke-width=0 fill=#f96 style=fill:#f96></path><path d="M-37.671875 -42 C-18.961476479115223 -42, -0.25107795823044654 -42, 37.671875 -42 M-37.671875 -42 C-7.81615333858457 -42, 22.03956832283086 -42, 37.671875 -42 M37.671875 -42 C37.671875 -20.67707797169636, 37.671875 0.645844056607281, 37.671875 42 M37.671875 -42 C37.671875 -20.988217021477006, 37.671875 0.02356595704598874, 37.671875 42 M37.671875 42 C21.655270136183614 42, 5.638665272367227 42, -37.671875 42 M37.671875 42 C10.667064075494693 42, -16.337746849010614 42, -37.671875 42 M-37.671875 42 C-37.671875 16.920131511430412, -37.671875 -8.159736977139175, -37.671875 -42 M-37.671875 42 C-37.671875 10.432636482372555, -37.671875 -21.13472703525489, -37.671875 -42" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f96><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.671875, 30)"></g><g class="methods-group text" transform="translate(-25.671875, 60)"></g><g class=divider style=fill:#f96><path d="M-37.671875 6 C-10.859563803910923 6, 15.952747392178154 6, 37.671875 6 M-37.671875 6 C-10.485569647461734 6, 16.700735705076532 6, 37.671875 6" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96></path></g><g class=divider style=fill:#f96><path d="M-37.671875 24 C-11.906063063035269 24, 13.859748873929462 24, 37.671875 24 M-37.671875 24 C-14.909066239737513 24, 7.853742520524975 24, 37.671875 24" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96></path></g></g></g></g></g></svg> <span style=display:none>deyzi</span></div><p>或者：<p class="p-off p-en sf-hidden">¥Or:<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class Animal:::someclass {
        -int sizeInFeet
        -canEat()
    }
    classDef someclass fill:#f96
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-975 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:168.765625px viewBox="0 0 168.765625 160" role="graphics-document document" aria-roledescription=class><style>#mermaid-975{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-975 p{margin:0}#mermaid-975 .nodeLabel{color:#e0dfdf}#mermaid-975 .node path{stroke:#ccc;stroke-width:1px}#mermaid-975 .divider{stroke:#ccc;stroke-width:1}#mermaid-975 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-975 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-975 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-975 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-975 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-975 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-975 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-975 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-975 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-975 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-975 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-975_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-975_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-975_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-975_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default someclass" id=classId-Animal-188 transform="translate(84.3828125, 80)"><g class="basic label-container"><path d="M-76.3828125 -72 L76.3828125 -72 L76.3828125 72 L-76.3828125 72" stroke=none stroke-width=0 fill=#f96 style=fill:#f96></path><path d="M-76.3828125 -72 C-15.710802700510705 -72, 44.96120709897859 -72, 76.3828125 -72 M-76.3828125 -72 C-27.29620513000455 -72, 21.790402239990897 -72, 76.3828125 -72 M76.3828125 -72 C76.3828125 -27.23398392579314, 76.3828125 17.53203214841372, 76.3828125 72 M76.3828125 -72 C76.3828125 -25.252682583031344, 76.3828125 21.49463483393731, 76.3828125 72 M76.3828125 72 C37.60424527262456 72, -1.17432195475088 72, -76.3828125 72 M76.3828125 72 C26.774347048524852 72, -22.834118402950295 72, -76.3828125 72 M-76.3828125 72 C-76.3828125 34.2699959945465, -76.3828125 -3.4600080109070035, -76.3828125 -72 M-76.3828125 72 C-76.3828125 40.852916330756024, -76.3828125 9.705832661512048, -76.3828125 -72" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96></path></g><g class="annotation-group text" transform="translate(0, -48)"></g><g class="label-group text" transform="translate(-25.671875, -48)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f96><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-64.3828125, 0)"><g class=label transform=translate(0,-12)><foreignobject width=103.09375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:165px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f96><p>-int sizeInFeet</p></span></div></foreignobject></g></g><g class="methods-group text" transform="translate(-64.3828125, 48)"><g class=label transform=translate(0,-12)><foreignobject width=66.015625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:125px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f96><p>-canEat()</p></span></div></foreignobject></g></g><g class=divider style=fill:#f96><path d="M-76.3828125 -24 C-16.36171193973849 -24, 43.65938862052302 -24, 76.3828125 -24 M-76.3828125 -24 C-34.358324565086804 -24, 7.666163369826393 -24, 76.3828125 -24" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96></path></g><g class=divider style=fill:#f96><path d="M-76.3828125 24 C-31.966466353089494 24, 12.449879793821012 24, 76.3828125 24 M-76.3828125 24 C-31.79551293325332 24, 12.79178663349336 24, 76.3828125 24" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96></path></g></g></g></g></g></svg> <span style=display:none>x2uxs3</span></div><h3 id=default-class tabindex=-1>默认类别 <a class=header-anchor href=#default-class aria-label='Permalink to "默认类别 {#default-class}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Default class<p>如果某个类名为 default，它将应用于所有节点。应在之后定义特定的样式和类以覆盖应用的默认样式。<p class="p-off p-en sf-hidden">¥If a class is named default it will be applied to all nodes. Specific styles and classes should be defined afterwards to override the applied default styling.<div class="language- vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span>classDef default fill:#f9f,stroke:#333,stroke-width:4px;</span></span></code></pre></div><div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
  class Animal:::pink
  class Mineral

  classDef default fill:#f96,color:red
  classDef pink color:#f9f
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-989 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:220.2578125px viewBox="0 0 220.2578125 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-989{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-989 p{margin:0}#mermaid-989 .node path{stroke:#ccc;stroke-width:1px}#mermaid-989 .divider{stroke:#ccc;stroke-width:1}#mermaid-989 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-989 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-989 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-989 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-989 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-989 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-989 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-989 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-989 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-989 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-989 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-989_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-989_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-989_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-989_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default pink" id=classId-Animal-189 transform="translate(45.671875, 50)"><g class="basic label-container"><path d="M-37.671875 -42 L37.671875 -42 L37.671875 42 L-37.671875 42" stroke=none stroke-width=0 fill=#f96 style=fill:#f96;color:#f9f></path><path d="M-37.671875 -42 C-20.3419702026389 -42, -3.012065405277802 -42, 37.671875 -42 M-37.671875 -42 C-8.05785170768658 -42, 21.55617158462684 -42, 37.671875 -42 M37.671875 -42 C37.671875 -23.73441976400424, 37.671875 -5.4688395280084805, 37.671875 42 M37.671875 -42 C37.671875 -24.406985375994335, 37.671875 -6.81397075198867, 37.671875 42 M37.671875 42 C8.330021689154002 42, -21.011831621691996 42, -37.671875 42 M37.671875 42 C20.819724872756115 42, 3.9675747455122305 42, -37.671875 42 M-37.671875 42 C-37.671875 12.085329224171996, -37.671875 -17.829341551656007, -37.671875 -42 M-37.671875 42 C-37.671875 25.018611168802565, -37.671875 8.03722233760513, -37.671875 -42" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96;color:#f9f></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f96;color:#f9f><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.671875, 30)"></g><g class="methods-group text" transform="translate(-25.671875, 60)"></g><g class=divider style=fill:#f96;color:#f9f><path d="M-37.671875 6 C-17.78910263041593 6, 2.093669739168142 6, 37.671875 6 M-37.671875 6 C-11.98989446812627 6, 13.69208606374746 6, 37.671875 6" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96;color:#f9f></path></g><g class=divider style=fill:#f96;color:#f9f><path d="M-37.671875 24 C-21.686675480273173 24, -5.701475960546347 24, 37.671875 24 M-37.671875 24 C-21.9022917280006 24, -6.132708456001193 24, 37.671875 24" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96;color:#f9f></path></g></g><g class="node default" id=classId-Mineral-190 transform="translate(172.80078125, 50)"><g class="basic label-container"><path d="M-39.45703125 -42 L39.45703125 -42 L39.45703125 42 L-39.45703125 42" stroke=none stroke-width=0 fill=#f96 style=fill:#f96;color:red></path><path d="M-39.45703125 -42 C-15.225056839421086 -42, 9.006917571157828 -42, 39.45703125 -42 M-39.45703125 -42 C-10.052116522160421 -42, 19.352798205679157 -42, 39.45703125 -42 M39.45703125 -42 C39.45703125 -13.463102128061823, 39.45703125 15.073795743876353, 39.45703125 42 M39.45703125 -42 C39.45703125 -22.36137005472277, 39.45703125 -2.722740109445539, 39.45703125 42 M39.45703125 42 C8.412960756111435 42, -22.63110973777713 42, -39.45703125 42 M39.45703125 42 C19.60871903195041 42, -0.239593186099178 42, -39.45703125 42 M-39.45703125 42 C-39.45703125 13.767220773314868, -39.45703125 -14.465558453370264, -39.45703125 -42 M-39.45703125 42 C-39.45703125 16.037379211032924, -39.45703125 -9.925241577934152, -39.45703125 -42" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96;color:red></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-27.45703125, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=54.9140625 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:108px;text-align:center><span class="nodeLabel markdown-node-label" style=fill:#f96;color:red><p>Mineral</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-27.45703125, 30)"></g><g class="methods-group text" transform="translate(-27.45703125, 60)"></g><g class=divider style=fill:#f96;color:red><path d="M-39.45703125 6 C-16.547774145074566 6, 6.361482959850868 6, 39.45703125 6 M-39.45703125 6 C-10.00473050779891 6, 19.44757023440218 6, 39.45703125 6" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96;color:red></path></g><g class=divider style=fill:#f96;color:red><path d="M-39.45703125 24 C-9.811778868799685 24, 19.83347351240063 24, 39.45703125 24 M-39.45703125 24 C-12.797656385881346 24, 13.861718478237307 24, 39.45703125 24" stroke=#ccc stroke-width=1.3 fill=none style=fill:#f96;color:red></path></g></g></g></g></g></svg> <span style=display:none>89iuq7</span></div><h3 id=css-classes tabindex=-1>CSS 类 <a class=header-anchor href=#css-classes aria-label='Permalink to "CSS 类 {#css-classes}"'>​</a></h3><p class="p-off p-en sf-hidden">¥CSS Classes<p>还可以在 CSS 样式中预定义类，这些类可以从图形定义中应用，如下例所示：<p class="p-off p-en sf-hidden">¥It is also possible to predefine classes in CSS styles that can be applied from the graph definition as in the example below:<p><strong>示例样式</strong><p class="p-off p-en sf-hidden">¥<div class="language-html vp-adaptive-theme"><button title="Copy Code" class=copy></button><span class=lang>html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex=0><code><span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&lt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>style</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span>
<span class=line><span style=--shiki-light:#6F42C1;--shiki-dark:#B392F0>  .styleClass</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> &gt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D> *</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583> &gt;</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D> g</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8> {</span></span>
<span class=line><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>    fill</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>: </span><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>#ff0000</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>;</span></span>
<span class=line><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>    stroke</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>: </span><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>#ffff00</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>;</span></span>
<span class=line><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>    stroke-width</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>: </span><span style=--shiki-light:#005CC5;--shiki-dark:#79B8FF>4</span><span style=--shiki-light:#D73A49;--shiki-dark:#F97583>px</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>;</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>  }</span></span>
<span class=line><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&lt;/</span><span style=--shiki-light:#22863A;--shiki-dark:#85E89D>style</span><span style=--shiki-light:#24292E;--shiki-dark:#E1E4E8>&gt;</span></span></code></pre></div><p><strong>定义示例</strong><p class="p-off p-en sf-hidden">¥<div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>classDiagram
    class Animal:::styleClass
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-1015 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:91.34375px viewBox="0 0 91.34375 100" role="graphics-document document" aria-roledescription=class><style>#mermaid-1015{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-1015 p{margin:0}#mermaid-1015 .nodeLabel{color:#e0dfdf}#mermaid-1015 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-1015 .divider{stroke:#ccc;stroke-width:1}#mermaid-1015 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-1015 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1015 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-1015 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1015 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-1015 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1015 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-1015 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1015 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-1015 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1015 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-1015_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1015_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-1015_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default styleClass" id=classId-Animal-191 transform="translate(45.671875, 50)"><g class="basic label-container"><path d="M-37.671875 -42 L37.671875 -42 L37.671875 42 L-37.671875 42" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-37.671875 -42 C-8.955347641518436 -42, 19.761179716963127 -42, 37.671875 -42 M-37.671875 -42 C-21.520643144981953 -42, -5.369411289963907 -42, 37.671875 -42 M37.671875 -42 C37.671875 -14.460375840597898, 37.671875 13.079248318804204, 37.671875 42 M37.671875 -42 C37.671875 -19.03734376612958, 37.671875 3.925312467740838, 37.671875 42 M37.671875 42 C10.546415246692185 42, -16.57904450661563 42, -37.671875 42 M37.671875 42 C20.36683548760651 42, 3.0617959752130233 42, -37.671875 42 M-37.671875 42 C-37.671875 13.603392713027738, -37.671875 -14.793214573944525, -37.671875 -42 M-37.671875 42 C-37.671875 10.471627705252239, -37.671875 -21.056744589495523, -37.671875 -42" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, -18)"></g><g class="label-group text" transform="translate(-25.671875, -18)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=51.34375 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:103px;text-align:center><span class="nodeLabel markdown-node-label"><p>Animal</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-25.671875, 30)"></g><g class="methods-group text" transform="translate(-25.671875, 60)"></g><g class=divider><path d="M-37.671875 6 C-22.34779506810644 6, -7.0237151362128785 6, 37.671875 6 M-37.671875 6 C-12.029538302769378 6, 13.612798394461244 6, 37.671875 6" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class=divider><path d="M-37.671875 24 C-21.41759606627996 24, -5.163317132559918 24, 37.671875 24 M-37.671875 24 C-21.609274863766892 24, -5.546674727533784 24, 37.671875 24" stroke=#ccc stroke-width=1.3 fill=none></path></g></g></g></g></g></svg> <span style=display:none>ucrxhr</span></div><blockquote><p>不能同时使用此简写方法和关系语句添加 cssClasses。<p class="p-off p-en sf-hidden">¥cssClasses cannot be added using this shorthand method at the same time as a relation statement.</p></blockquote><h2 id=configuration tabindex=-1>配置 <a class=header-anchor href=#configuration aria-label='Permalink to "配置 {#configuration}"'>​</a></h2><p class="p-off p-en sf-hidden">¥Configuration<h3 id=members-box tabindex=-1>成员框 <a class=header-anchor href=#members-box aria-label='Permalink to "成员框 {#members-box}"'>​</a></h3><p class="p-off p-en sf-hidden">¥Members Box<p>可以隐藏类节点的空成员框。<p class="p-off p-en sf-hidden">¥It is possible to hide the empty members box of a class node.<p>这是通过更改类图配置的 hideEmptyMembersBox 值来完成的。有关如何编辑 Mermaid 配置的更多信息，请参阅 <a href=https://mermaid.nodejs.cn/config/configuration.html target=_blank rel=noreferrer>配置页面。</a><p class="p-off p-en sf-hidden">¥This is done by changing the value of the class diagram configuration. For more information on how to edit the Mermaid configuration see the <div><h5>代码:</h5><div class=language-mermaid><button class=copy></button><span class=lang>mermaid</span><pre><code contenteditable=plaintext-only class=editable-code>---
  config:
    class:
      hideEmptyMembersBox: true
---
classDiagram
  class Duck
</code></pre><div class=buttons-container><span>Ctrl + 回车键</span><span>|</span><button>运行 ▶</button></div></div></div><div><svg id=mermaid-1048 width=100% xmlns=http://www.w3.org/2000/svg class=classDiagram style=max-width:76.6875px viewBox="0 0 76.6875 64" role="graphics-document document" aria-roledescription=class><style>#mermaid-1048{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-1048 p{margin:0}#mermaid-1048 .nodeLabel{color:#e0dfdf}#mermaid-1048 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px}#mermaid-1048 .composition{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-1048 .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1048 .dependency{fill:lightgrey!important;stroke:lightgrey!important}#mermaid-1048 .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1048 .extension{fill:transparent!important;stroke:lightgrey!important}#mermaid-1048 .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1048 .aggregation{fill:transparent!important;stroke:lightgrey!important}#mermaid-1048 .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1048 .lollipop{fill:#1f2020!important;stroke:lightgrey!important}#mermaid-1048 .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1}#mermaid-1048 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><defs><marker id=mermaid-1048_class-aggregationStart class="marker aggregation class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-aggregationEnd class="marker aggregation class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-extensionStart class="marker extension class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-extensionEnd class="marker extension class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-compositionStart class="marker composition class" refX=18 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-compositionEnd class="marker composition class" refX=1 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-dependencyStart class="marker dependency class" refX=6 refY=7 markerWidth=190 markerHeight=240 orient=auto><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-dependencyEnd class="marker dependency class" refX=13 refY=7 markerWidth=20 markerHeight=28 orient=auto><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id=mermaid-1048_class-lollipopStart class="marker lollipop class" refX=13 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><defs><marker id=mermaid-1048_class-lollipopEnd class="marker lollipop class" refX=1 refY=7 markerWidth=190 markerHeight=240 orient=auto><circle stroke=black fill=transparent cx=7 cy=7 r=6></circle></marker></defs><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes><g class="node default" id=classId-Duck-192 transform="translate(38.34375, 32)"><g class="basic label-container"><path d="M-30.34375 -24 L30.34375 -24 L30.34375 24 L-30.34375 24" stroke=none stroke-width=0 fill=#1f2020></path><path d="M-30.34375 -24 C-12.712134673020774 -24, 4.919480653958452 -24, 30.34375 -24 M-30.34375 -24 C-16.8855363739834 -24, -3.4273227479667945 -24, 30.34375 -24 M30.34375 -24 C30.34375 -10.196214268651053, 30.34375 3.6075714626978943, 30.34375 24 M30.34375 -24 C30.34375 -7.009175784611852, 30.34375 9.981648430776296, 30.34375 24 M30.34375 24 C13.730192567406377 24, -2.8833648651872466 24, -30.34375 24 M30.34375 24 C16.135200036819796 24, 1.9266500736395926 24, -30.34375 24 M-30.34375 24 C-30.34375 6.729326417699099, -30.34375 -10.541347164601802, -30.34375 -24 M-30.34375 24 C-30.34375 13.289621815215678, -30.34375 2.579243630431357, -30.34375 -24" stroke=#ccc stroke-width=1.3 fill=none></path></g><g class="annotation-group text" transform="translate(0, 0)"></g><g class="label-group text" transform="translate(-18.34375, 0)"><g class=label style=font-weight:bolder transform=translate(0,-12)><foreignobject width=36.6875 height=24><div xmlns=http://www.w3.org/1999/xhtml style=display:table-cell;white-space:nowrap;line-height:1.5;max-width:89px;text-align:center><span class="nodeLabel markdown-node-label"><p>Duck</p></span></div></foreignobject></g></g><g class="members-group text" transform="translate(-18.34375, 48)"></g><g class="methods-group text" transform="translate(-18.34375, 78)"></g></g></g></g></g></svg> <span style=display:none>yboqgn</span></div><div id=bottomad><div class=pageadw style=display:flex;overflow:hidden;position:fixed;right:unset;bottom:0px;top:unset;z-index:1000>
 <div class="wwads-cn wwads-horizontal sf-hidden" data-id=242 style=margin:0px;height:100px;width:688px></div>
 </div>
 
 </div></div></div></main><footer data-v-a296febb data-v-eab3e7f3 class=VPDocFooter><nav data-v-a296febb class=prev-next aria-labelledby=doc-footer-aria-label><span data-v-a296febb class=visually-hidden id=doc-footer-aria-label>Pager</span><div data-v-a296febb class=pager><a data-v-a296febb class="VPLink link pager-link prev" href=https://mermaid.nodejs.cn/syntax/sequenceDiagram.html><span data-v-a296febb class=desc>上一页</span><span data-v-a296febb class=title>时序图</span></a></div><div data-v-a296febb class=pager><a data-v-a296febb class="VPLink link pager-link next" href=https://mermaid.nodejs.cn/syntax/stateDiagram.html><span data-v-a296febb class=desc>下一页</span><span data-v-a296febb class=title>状态图</span></a></div></nav></footer></div></div></div></div></div><footer class="VPFooter has-sidebar sf-hidden" data-v-8515e7bd data-v-a4f8e15e></footer></div></div>
 
 
 
<div class=VPPluginSearch-modal-back style=display:none></div><div id=dmermaid-1528><svg id=mermaid-1528 width=100% xmlns=http://www.w3.org/2000/svg viewBox="0 0 2412 512" style=max-width:512px><style class=sf-hidden>#mermaid-1528{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-1528 .error-icon{fill:#a44141}#mermaid-1528 .error-text{fill:#ddd;stroke:#ddd}#mermaid-1528 .marker{fill:lightgrey;stroke:lightgrey}#mermaid-1528 .marker.cross{stroke:lightgrey}#mermaid-1528 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g><marker id=mermaid-1528_flowchart-v2-pointEnd class="marker flowchart-v2" viewBox="0 0 10 10" refX=5 refY=5 markerUnits=userSpaceOnUse markerWidth=8 markerHeight=8 orient=auto><path d="M 0 0 L 10 5 L 0 10 z" class=arrowMarkerPath style=stroke-width:1;stroke-dasharray:1,0></path></marker><marker id=mermaid-1528_flowchart-v2-pointStart class="marker flowchart-v2" viewBox="0 0 10 10" refX=4.5 refY=5 markerUnits=userSpaceOnUse markerWidth=8 markerHeight=8 orient=auto><path d="M 0 5 L 10 10 L 10 0 z" class=arrowMarkerPath style=stroke-width:1;stroke-dasharray:1,0></path></marker><marker id=mermaid-1528_flowchart-v2-circleEnd class="marker flowchart-v2" viewBox="0 0 10 10" refX=11 refY=5 markerUnits=userSpaceOnUse markerWidth=11 markerHeight=11 orient=auto><circle cx=5 cy=5 r=5 class=arrowMarkerPath style=stroke-width:1;stroke-dasharray:1,0></circle></marker><marker id=mermaid-1528_flowchart-v2-circleStart class="marker flowchart-v2" viewBox="0 0 10 10" refX=-1 refY=5 markerUnits=userSpaceOnUse markerWidth=11 markerHeight=11 orient=auto><circle cx=5 cy=5 r=5 class=arrowMarkerPath style=stroke-width:1;stroke-dasharray:1,0></circle></marker><marker id=mermaid-1528_flowchart-v2-crossEnd class="marker cross flowchart-v2" viewBox="0 0 11 11" refX=12 refY=5.2 markerUnits=userSpaceOnUse markerWidth=11 markerHeight=11 orient=auto><path d="M 1,1 l 9,9 M 10,1 l -9,9" class=arrowMarkerPath style=stroke-width:2;stroke-dasharray:1,0></path></marker><marker id=mermaid-1528_flowchart-v2-crossStart class="marker cross flowchart-v2" viewBox="0 0 11 11" refX=-1 refY=5.2 markerUnits=userSpaceOnUse markerWidth=11 markerHeight=11 orient=auto><path d="M 1,1 l 9,9 M 10,1 l -9,9" class=arrowMarkerPath style=stroke-width:2;stroke-dasharray:1,0></path></marker><g class=root><g class=clusters></g><g class=edgePaths></g><g class=edgeLabels></g><g class=nodes></g></g></g><g><path class=error-icon d="m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"></path><path class=error-icon d="m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"></path><path class=error-icon d="m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"></path><path class=error-icon d="m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"></path><path class=error-icon d="m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"></path><path class=error-icon d="m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"></path><text class=error-text x=1440 y=250 font-size=150px style=text-anchor:middle>Syntax error in text</text><text class=error-text x=1250 y=400 font-size=100px style=text-anchor:middle>mermaid version 11.5.0</text></g></svg></div><div id=dmermaid-1762><svg id=mermaid-1762 width=100% xmlns=http://www.w3.org/2000/svg viewBox="0 0 2412 512" style=max-width:512px role="graphics-document document" aria-roledescription=error><style class=sf-hidden>#mermaid-1762{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-1762 .error-icon{fill:#a44141}#mermaid-1762 .error-text{fill:#ddd;stroke:#ddd}#mermaid-1762 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g></g><g><path class=error-icon d="m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"></path><path class=error-icon d="m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"></path><path class=error-icon d="m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"></path><path class=error-icon d="m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"></path><path class=error-icon d="m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"></path><path class=error-icon d="m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"></path><text class=error-text x=1440 y=250 font-size=150px style=text-anchor:middle>Syntax error in text</text><text class=error-text x=1250 y=400 font-size=100px style=text-anchor:middle>mermaid version 11.5.0</text></g></svg></div><div id=dmermaid-1806><svg id=mermaid-1806 width=100% xmlns=http://www.w3.org/2000/svg viewBox="0 0 2412 512" style=max-width:512px role="graphics-document document" aria-roledescription=error><style class=sf-hidden>#mermaid-1806{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-1806 .error-icon{fill:#a44141}#mermaid-1806 .error-text{fill:#ddd;stroke:#ddd}#mermaid-1806 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g></g><g><path class=error-icon d="m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"></path><path class=error-icon d="m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"></path><path class=error-icon d="m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"></path><path class=error-icon d="m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"></path><path class=error-icon d="m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"></path><path class=error-icon d="m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"></path><text class=error-text x=1440 y=250 font-size=150px style=text-anchor:middle>Syntax error in text</text><text class=error-text x=1250 y=400 font-size=100px style=text-anchor:middle>mermaid version 11.5.0</text></g></svg></div><div id=dmermaid-1825><svg id=mermaid-1825 width=100% xmlns=http://www.w3.org/2000/svg viewBox="0 0 2412 512" style=max-width:512px role="graphics-document document" aria-roledescription=error><style class=sf-hidden>#mermaid-1825{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc}@keyframes edge-animation-frame{from{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}#mermaid-1825 .error-icon{fill:#a44141}#mermaid-1825 .error-text{fill:#ddd;stroke:#ddd}#mermaid-1825 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif}</style><g></g><g><path class=error-icon d="m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"></path><path class=error-icon d="m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"></path><path class=error-icon d="m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"></path><path class=error-icon d="m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"></path><path class=error-icon d="m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"></path><path class=error-icon d="m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"></path><text class=error-text x=1440 y=250 font-size=150px style=text-anchor:middle>Syntax error in text</text><text class=error-text x=1250 y=400 font-size=100px style=text-anchor:middle>mermaid version 11.5.0</text></g></svg></div>